X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Ffarmerbb%2Ftaskbar%2Factivity%2FDashboardActivity.java;h=5cc108d656b3a7d5fb501a9cef9ac544104cb995;hb=1a56b3b112cd702ec87f85df090bed0d6adfd959;hp=c18d5477b7890b0eca1fa156ec09a81fadbe424f;hpb=cd8607579041dbdcfd8b7e708bea2bbc79a4ef4a;p=android-x86%2Fpackages-apps-Taskbar.git diff --git a/app/src/main/java/com/farmerbb/taskbar/activity/DashboardActivity.java b/app/src/main/java/com/farmerbb/taskbar/activity/DashboardActivity.java index c18d5477..5cc108d6 100644 --- a/app/src/main/java/com/farmerbb/taskbar/activity/DashboardActivity.java +++ b/app/src/main/java/com/farmerbb/taskbar/activity/DashboardActivity.java @@ -28,6 +28,7 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.os.Build; import android.os.Bundle; import android.view.KeyEvent; import android.view.MotionEvent; @@ -36,12 +37,13 @@ import android.widget.FrameLayout; import android.widget.LinearLayout; import com.farmerbb.taskbar.R; -import com.farmerbb.taskbar.util.TaskbarIntent; -import com.farmerbb.taskbar.util.DashboardHelper; +import com.farmerbb.taskbar.helper.DashboardHelper; import com.farmerbb.taskbar.util.DisplayInfo; -import com.farmerbb.taskbar.util.LauncherHelper; +import com.farmerbb.taskbar.helper.LauncherHelper; import com.farmerbb.taskbar.util.U; +import static com.farmerbb.taskbar.util.Constants.*; + public class DashboardActivity extends Activity { private AppWidgetManager mAppWidgetManager; @@ -59,8 +61,8 @@ public class DashboardActivity extends Activity { @Override public void onReceive(Context context, Intent intent) { mAppWidgetManager = AppWidgetManager.getInstance(context); - mAppWidgetHost = new AppWidgetHost(context, intent.getIntExtra("appWidgetId", -1)); - cellId = intent.getIntExtra("cellId", -1); + mAppWidgetHost = new AppWidgetHost(context, intent.getIntExtra(EXTRA_APPWIDGET_ID, -1)); + cellId = intent.getIntExtra(EXTRA_CELL_ID, -1); int appWidgetId = mAppWidgetHost.allocateAppWidgetId(); Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK); @@ -68,7 +70,7 @@ public class DashboardActivity extends Activity { try { startActivityForResult(pickIntent, REQUEST_PICK_APPWIDGET); - U.sendBroadcast(DashboardActivity.this, TaskbarIntent.ACTION_TEMP_HIDE_TASKBAR); + U.sendBroadcast(DashboardActivity.this, ACTION_TEMP_HIDE_TASKBAR); } catch (ActivityNotFoundException e) { U.showToast(DashboardActivity.this, R.string.tb_lock_device_not_supported); finish(); @@ -81,19 +83,19 @@ public class DashboardActivity extends Activity { private BroadcastReceiver removeWidgetReceiver = new BroadcastReceiver() { @Override public void onReceive(final Context context, Intent intent) { - cellId = intent.getIntExtra("cellId", -1); + cellId = intent.getIntExtra(EXTRA_CELL_ID, -1); AlertDialog.Builder builder = new AlertDialog.Builder(DashboardActivity.this); builder.setTitle(R.string.tb_remove_widget) .setMessage(R.string.tb_are_you_sure) .setNegativeButton(R.string.tb_action_cancel, (dialog, which) -> { - U.sendBroadcast(DashboardActivity.this, TaskbarIntent.ACTION_REMOVE_WIDGET_COMPLETED); + U.sendBroadcast(DashboardActivity.this, ACTION_REMOVE_WIDGET_COMPLETED); shouldFinish = true; }) .setPositiveButton(R.string.tb_action_ok, (dialog, which) -> { - Intent intent1 = new Intent(TaskbarIntent.ACTION_REMOVE_WIDGET_COMPLETED); - intent1.putExtra("cellId", cellId); + Intent intent1 = new Intent(ACTION_REMOVE_WIDGET_COMPLETED); + intent1.putExtra(EXTRA_CELL_ID, cellId); U.sendBroadcast(DashboardActivity.this, intent1); shouldFinish = true; @@ -123,7 +125,7 @@ public class DashboardActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - contextMenuFix = getIntent().hasExtra("context_menu_fix"); + contextMenuFix = getIntent().hasExtra(EXTRA_CONTEXT_MENU_FIX); // Detect outside touches, and finish the activity when one is detected getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); @@ -136,9 +138,9 @@ public class DashboardActivity extends Activity { LinearLayout layout = findViewById(R.id.incognitoLayout); layout.setLayoutParams(new FrameLayout.LayoutParams(display.width, display.height)); - U.registerReceiver(this, addWidgetReceiver, TaskbarIntent.ACTION_ADD_WIDGET_REQUESTED); - U.registerReceiver(this, removeWidgetReceiver, TaskbarIntent.ACTION_REMOVE_WIDGET_REQUESTED); - U.registerReceiver(this, finishReceiver, TaskbarIntent.ACTION_DASHBOARD_DISAPPEARING); + U.registerReceiver(this, addWidgetReceiver, ACTION_ADD_WIDGET_REQUESTED); + U.registerReceiver(this, removeWidgetReceiver, ACTION_REMOVE_WIDGET_REQUESTED); + U.registerReceiver(this, finishReceiver, ACTION_DASHBOARD_DISAPPEARING); if(!DashboardHelper.getInstance().isDashboardOpen()) finish(); } @@ -155,7 +157,7 @@ public class DashboardActivity extends Activity { U.startFreeformHack(this); } - U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_DASHBOARD); + U.sendBroadcast(this, ACTION_HIDE_DASHBOARD); } @Override @@ -168,16 +170,27 @@ public class DashboardActivity extends Activity { return super.dispatchKeyShortcutEvent(event); } + // @Override + public void onTopResumedActivityChanged(boolean isTopResumedActivity) { + if(!isTopResumedActivity) + performOnPauseLogic(); + } + @Override protected void onPause() { super.onPause(); + if(Build.VERSION.SDK_INT <= Build.VERSION_CODES.P) + performOnPauseLogic(); + } + + private void performOnPauseLogic() { if(shouldFinish) { if(shouldCollapse) { if(U.shouldCollapse(this, true)) { - U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_TASKBAR); + U.sendBroadcast(this, ACTION_HIDE_TASKBAR); } else { - U.sendBroadcast(this, TaskbarIntent.ACTION_HIDE_START_MENU); + U.sendBroadcast(this, ACTION_HIDE_START_MENU); } } @@ -211,8 +224,8 @@ public class DashboardActivity extends Activity { } } - U.sendBroadcast(this, TaskbarIntent.ACTION_ADD_WIDGET_COMPLETED); - U.sendBroadcast(this, TaskbarIntent.ACTION_TEMP_SHOW_TASKBAR); + U.sendBroadcast(this, ACTION_ADD_WIDGET_COMPLETED); + U.sendBroadcast(this, ACTION_TEMP_SHOW_TASKBAR); shouldFinish = true; } @@ -229,10 +242,10 @@ public class DashboardActivity extends Activity { startActivityForResult(intent, REQUEST_CREATE_APPWIDGET); SharedPreferences pref = U.getSharedPreferences(this); - if(LauncherHelper.getInstance().isOnHomeScreen() - && (!pref.getBoolean("taskbar_active", false) - || pref.getBoolean("is_hidden", false))) - pref.edit().putBoolean("dont_stop_dashboard", true).apply(); + if(LauncherHelper.getInstance().isOnHomeScreen(this) + && (!pref.getBoolean(PREF_TASKBAR_ACTIVE, false) + || pref.getBoolean(PREF_IS_HIDDEN, false))) + pref.edit().putBoolean(PREF_DONT_STOP_DASHBOARD, true).apply(); shouldFinish = false; } else { @@ -241,12 +254,15 @@ public class DashboardActivity extends Activity { } private void createWidget(Intent data) { - Intent intent = new Intent(TaskbarIntent.ACTION_ADD_WIDGET_COMPLETED); - intent.putExtra("appWidgetId", data.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1)); - intent.putExtra("cellId", cellId); + Intent intent = new Intent(ACTION_ADD_WIDGET_COMPLETED); + intent.putExtra( + EXTRA_APPWIDGET_ID, + data.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1) + ); + intent.putExtra(EXTRA_CELL_ID, cellId); U.sendBroadcast(this, intent); - U.sendBroadcast(this, TaskbarIntent.ACTION_TEMP_SHOW_TASKBAR); + U.sendBroadcast(this, ACTION_TEMP_SHOW_TASKBAR); shouldFinish = true; }