Open folder from widget

pull/168/head
M66B 5 years ago
parent f623b63ec5
commit 83c9f06918

@ -104,12 +104,13 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
private boolean searching = false;
static final int REQUEST_UNIFIED = 1;
static final int REQUEST_WHY = 2;
static final int REQUEST_THREAD = 3;
static final int REQUEST_OUTBOX = 4;
static final int REQUEST_ERROR = 5;
static final int REQUEST_UPDATE = 6;
static final int REQUEST_WIDGET = 7;
static final int REQUEST_FOLDER = 2;
static final int REQUEST_WHY = 3;
static final int REQUEST_THREAD = 4;
static final int REQUEST_OUTBOX = 5;
static final int REQUEST_ERROR = 6;
static final int REQUEST_UPDATE = 7;
static final int REQUEST_WIDGET = 8;
static final String ACTION_VIEW_FOLDERS = BuildConfig.APPLICATION_ID + ".VIEW_FOLDERS";
static final String ACTION_VIEW_MESSAGES = BuildConfig.APPLICATION_ID + ".VIEW_MESSAGES";
@ -791,6 +792,16 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
startService(clear);
}
} else if (action.startsWith("folder")) {
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
getSupportFragmentManager().popBackStack("unified", 0);
long folder = Long.parseLong(action.split(":", 2)[1]);
if (folder > 0) {
intent.putExtra("folder", folder);
onViewMessages(intent);
}
} else if ("why".equals(action)) {
if (getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED))
getSupportFragmentManager().popBackStack("unified", 0);

@ -67,14 +67,18 @@ public class WidgetUnified extends AppWidgetProvider {
private static void update(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
Intent view = new Intent(context, ActivityView.class);
view.setAction("unified");
view.putExtra("refresh", true);
view.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(context, ActivityView.REQUEST_UNIFIED, view, PendingIntent.FLAG_UPDATE_CURRENT);
boolean pro = ActivityBilling.isPro(context);
for (int appWidgetId : appWidgetIds) {
long account = prefs.getLong("widget." + appWidgetId + ".account", -1L);
long folder = prefs.getLong("widget." + appWidgetId + ".folder", -1L);
Intent view = new Intent(context, ActivityView.class);
view.setAction("folder:" + folder);
view.putExtra("account", account);
view.putExtra("refresh", true);
view.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(context, ActivityView.REQUEST_FOLDER, view, PendingIntent.FLAG_UPDATE_CURRENT);
RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_unified);
views.setViewVisibility(R.id.pro, pro ? View.GONE : View.VISIBLE);

Loading…
Cancel
Save