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 c18d547..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,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;
     }