gecko-dev/mobile/android/base/GeckoAppWidgetProvider.java.in
2013-02-26 21:48:00 -08:00

47 lines
1.9 KiB
Java

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
#filter substitution
package @ANDROID_PACKAGE_NAME@;
import org.mozilla.gecko.GeckoApp;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.app.PendingIntent;
import android.widget.RemoteViews;
import org.mozilla.gecko.R;
public class GeckoAppWidgetProvider extends AppWidgetProvider {
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for (int i=0; i < appWidgetIds.length; i++) {
int appWidgetId = appWidgetIds[i];
// Launch the AwesomeScreen on tapping the URL bar.
Intent awesomeBarIntent = new Intent();
awesomeBarIntent.setComponent(new ComponentName("@ANDROID_PACKAGE_NAME@", "@ANDROID_PACKAGE_NAME@.App"));
awesomeBarIntent.setAction(GeckoApp.ACTION_WIDGET);
PendingIntent pendingAwesomeBarIntent = PendingIntent.getActivity(context, 0, awesomeBarIntent, 0);
// Launch the App on tapping the icon.
Intent iconIntent = new Intent();
iconIntent.setComponent(new ComponentName("@ANDROID_PACKAGE_NAME@", "@ANDROID_PACKAGE_NAME@.App"));
PendingIntent pendingIconIntent = PendingIntent.getActivity(context, 0, iconIntent, 0);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.gecko_appwidget);
views.setOnClickPendingIntent(R.id.awesome_bar, pendingAwesomeBarIntent);
views.setOnClickPendingIntent(R.id.icon, pendingIconIntent);
// Update the view.
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}