OSDN Git Service

Extract context_menu_fix to constant
[android-x86/packages-apps-Taskbar.git] / app / src / main / java / com / farmerbb / taskbar / activity / DashboardActivity.java
index ce8a9fa..5cc108d 100644 (file)
@@ -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,9 +37,9 @@ import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 
 import com.farmerbb.taskbar.R;
-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.*;
@@ -60,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);
@@ -82,7 +83,7 @@ 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)
@@ -94,7 +95,7 @@ public class DashboardActivity extends Activity {
                     })
                     .setPositiveButton(R.string.tb_action_ok, (dialog, which) -> {
                         Intent intent1 = new Intent(ACTION_REMOVE_WIDGET_COMPLETED);
-                        intent1.putExtra("cellId", cellId);
+                        intent1.putExtra(EXTRA_CELL_ID, cellId);
                         U.sendBroadcast(DashboardActivity.this, intent1);
 
                         shouldFinish = true;
@@ -124,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);
@@ -169,10 +170,21 @@ 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)) {
@@ -230,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 {
@@ -243,8 +255,11 @@ public class DashboardActivity extends Activity {
 
     private void createWidget(Intent data) {
         Intent intent = new Intent(ACTION_ADD_WIDGET_COMPLETED);
-        intent.putExtra("appWidgetId", data.getExtras().getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, -1));
-        intent.putExtra("cellId", cellId);
+        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, ACTION_TEMP_SHOW_TASKBAR);