Android Open Source - SurveySDK_android Widget






From Project

Back to project page SurveySDK_android.

License

The source code is released under:

Apache License

If you think the Android project SurveySDK_android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.survey.android.widget;
//  www  . j a va  2  s.c o m

import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import android.widget.RemoteViews;
import com.survey.android.R;
import com.survey.android.util.ConstantData;
import com.survey.android.view.Dashboard;
import com.survey.android.view.Notification;

public class Widget extends AppWidgetProvider {
  private static final String TAG = "Widget";
  
  @Override
  public void onUpdate(Context context, AppWidgetManager appWidgetManager,
      int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);

    RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
        R.layout.widget_layout);

    // When the icon on the widget is clicked, we send out a broadcast
    // containing the ACTION_WIDGET_UPDATE_FROM_ACTIVITY.
    // In the manifest, the widget is configured with an intent filter to
    // match this action.
    Intent intent = new Intent(context, Widget.class);
    intent.setAction(ConstantData.ACTION_WIDGET_UPDATE_FROM_WIDGET);

    // When we click the widget, we want to open our main activity.
    Intent defineIntent2 = new Intent(context, Dashboard.class);
    PendingIntent pendingIntent2 = PendingIntent.getActivity(context,
        0 /* no requestCode */, defineIntent2, 0 /* no flags */);
    remoteViews.setOnClickPendingIntent(R.id.widget, pendingIntent2);

    // Is this really necessary ?
    ComponentName thisWidget = new ComponentName(context, Widget.class);
    AppWidgetManager manager = AppWidgetManager.getInstance(context);
    manager.updateAppWidget(thisWidget, remoteViews);
  }

  @Override
  public void onReceive(Context context, Intent intent) {
    Log.i(TAG, "onReceive called with " + intent.getAction());
    super.onReceive(context, intent);
    RemoteViews remoteViews = new RemoteViews(context.getPackageName(),
        R.layout.widget_layout);
    ComponentName cn = new ComponentName(context, Widget.class);

    try {

      SharedPreferences prefs = PreferenceManager
          .getDefaultSharedPreferences(context);

      String survey_id = prefs.getString("survey_id_c2dm", null);

      remoteViews.setTextViewText(
          R.id.txtLast,
          context.getResources().getString(
              R.string.check_out_available_surveys));

      Intent defineIntent2 = new Intent(context, Notification.class);
      defineIntent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
          | Intent.FLAG_ACTIVITY_CLEAR_TOP);
      defineIntent2.putExtra("survey_id", survey_id);
      defineIntent2.putExtra("notification_id", 1);
      PendingIntent pendingIntent2 = PendingIntent
          .getActivity(context, 0 /* no requestCode */,
              defineIntent2,PendingIntent.FLAG_CANCEL_CURRENT /* no flags */);
      remoteViews
          .setOnClickPendingIntent(R.id.widget, pendingIntent2);

    } catch (Exception e) {
      e.printStackTrace();
    }

    AppWidgetManager.getInstance(context).updateAppWidget(cn, remoteViews);
  }

}




Java Source Code List

android.UnusedStub.java
com.google.android.gms.BuildConfig.java
com.google.android.gms.BuildConfig.java
com.survey.android.UnusedStub.java
com.survey.android.c2dm.C2DMRegistrationReceiver.java
com.survey.android.c2dm.C2DMTokenRefresher.java
com.survey.android.c2dm.GcmBroadcastReceiver.java
com.survey.android.c2dm.GcmNotificationReceiver.java
com.survey.android.c2dm.GcmRegistrationService.java
com.survey.android.c2dm.RegService.java
com.survey.android.common.PlacesAutoCompleteAdapter.java
com.survey.android.common.Themes.java
com.survey.android.containers.AppContainer.java
com.survey.android.containers.PollContainer.java
com.survey.android.custom_widgets.FontTextView.java
com.survey.android.custom_widgets.PollRatingsScaleLabeled.java
com.survey.android.custom_widgets.PollRatings.java
com.survey.android.custom_widgets.PollSelectionTable.java
com.survey.android.db.SerializationHelper.java
com.survey.android.db.SerializationManager.java
com.survey.android.fragment.AudioRecorderFragment.java
com.survey.android.geofence.GeofenceRemover.java
com.survey.android.geofence.GeofenceRequester.java
com.survey.android.geofence.GeofenceUtils.java
com.survey.android.geofence.LocationServiceErrorMessages.java
com.survey.android.geofence.ReceiveTransitionsIntentService.java
com.survey.android.geofence.SimpleGeofenceStore.java
com.survey.android.geofence.SimpleGeofence.java
com.survey.android.model.AnswerModel.java
com.survey.android.model.CategoryModel.java
com.survey.android.model.CurrentSectionModel.java
com.survey.android.model.Prefs.java
com.survey.android.model.QuestionModel.java
com.survey.android.model.ResponseModel.java
com.survey.android.model.SurveyModel.java
com.survey.android.model.UserModel.java
com.survey.android.services.BackgroundUploader.java
com.survey.android.services.DataBroadcastReceiver.java
com.survey.android.services.DeviceStartUpReceiver.java
com.survey.android.services.GeoSurveyPollService.java
com.survey.android.services.LocationTesterService.java
com.survey.android.services.ReferrerCatcher.java
com.survey.android.session.Configuration.java
com.survey.android.session.Session.java
com.survey.android.util.Base64.java
com.survey.android.util.ConstantData.java
com.survey.android.util.GeoPush.java
com.survey.android.util.GeoTriggerBroadcastReceiver.java
com.survey.android.util.GeoTrigger.java
com.survey.android.util.LocationLog.java
com.survey.android.util.Log.java
com.survey.android.util.StrToIntMap.java
com.survey.android.util.StrToStrMap.java
com.survey.android.util.Toiler.java
com.survey.android.util.WhiteLabel.java
com.survey.android.view.Dashboard.java
com.survey.android.view.Gallery.java
com.survey.android.view.LocalizedFragmentActivity.java
com.survey.android.view.Main.java
com.survey.android.view.Notification.java
com.survey.android.view.Question.java
com.survey.android.view.Survey.java
com.survey.android.view.ThemeCustomizer.java
com.survey.android.view.themed.DashboardThemed.java
com.survey.android.view.themed.MainThemed.java
com.survey.android.view.themed.NotificationThemed.java
com.survey.android.view.themed.QuestionThemed.java
com.survey.android.view.themed.SurveyThemed.java
com.survey.android.webclient.HttpRequest.java
com.survey.android.webclient.HttpsClient.java
com.survey.android.webclient.RestClient.java
com.survey.android.webclient.SurveyHttpClient.java
com.survey.android.webclient.SurveyRequest.java
com.survey.android.webclient.SurveySSLSocketFactory.java
com.survey.android.webclient.SurveyX509TrustManager.java
com.survey.android.widget.Widget.java
com.survey.androiddemo.AppContainer.java
com.survey.androiddemo.LoginActivity.java
com.survey.androiddemo.MainActivity.java
com.survey.androiddemo.SDKConfigSettings.java