OSDN Git Service

Fixes for Android Q Beta 1
authorBraden Farmer <farmerbb@gmail.com>
Fri, 15 Mar 2019 02:01:25 +0000 (20:01 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Fri, 15 Mar 2019 02:01:25 +0000 (20:01 -0600)
app/src/main/java/com/farmerbb/taskbar/activity/ContextMenuActivity.java
app/src/main/java/com/farmerbb/taskbar/activity/TouchAbsorberActivity.java
app/src/main/java/com/farmerbb/taskbar/util/U.java

index 5d63c10..389f091 100644 (file)
@@ -78,7 +78,7 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
 
     List<ShortcutInfo> shortcuts;
 
-    private BroadcastReceiver finishReceiver = new BroadcastReceiver() {
+    private BroadcastReceiver dashboardOrStartMenuAppearingReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
             dashboardOrStartMenuAppearing = true;
@@ -86,6 +86,14 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
         }
     };
 
+    private BroadcastReceiver finishReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            finish();
+        }
+    };
+
+
     @SuppressLint("RtlHardcoded")
     @SuppressWarnings("deprecation")
     @Override
@@ -222,7 +230,8 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
         intentFilter.addAction("com.farmerbb.taskbar.START_MENU_APPEARING");
         intentFilter.addAction("com.farmerbb.taskbar.DASHBOARD_APPEARING");
 
-        LocalBroadcastManager.getInstance(this).registerReceiver(finishReceiver, intentFilter);
+        LocalBroadcastManager.getInstance(this).registerReceiver(dashboardOrStartMenuAppearingReceiver, intentFilter);
+        LocalBroadcastManager.getInstance(this).registerReceiver(finishReceiver, new IntentFilter("com.farmerbb.taskbar.HIDE_CONTEXT_MENU"));
     }
 
     @SuppressWarnings("deprecation")
@@ -398,6 +407,7 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
         boolean appIsValid = isStartButton || isOverflowMenu ||
                 !launcherApps.getActivityList(args.getString("package_name"),
                         userManager.getUserForSerialNumber(userId)).isEmpty();
+        secondaryMenu = false;
 
         if(appIsValid) switch(p.getKey()) {
             case "app_info":
@@ -744,6 +754,7 @@ public class ContextMenuActivity extends PreferenceActivity implements Preferenc
     protected void onDestroy() {
         super.onDestroy();
 
+        LocalBroadcastManager.getInstance(this).unregisterReceiver(dashboardOrStartMenuAppearingReceiver);
         LocalBroadcastManager.getInstance(this).unregisterReceiver(finishReceiver);
     }
 }
\ No newline at end of file
index f15ee09..ee5599b 100644 (file)
@@ -29,6 +29,7 @@ import android.support.v4.content.LocalBroadcastManager;
 import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 
+import com.farmerbb.taskbar.BuildConfig;
 import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.util.DisplayInfo;
 import com.farmerbb.taskbar.util.FreeformHackHelper;
@@ -56,6 +57,7 @@ public class TouchAbsorberActivity extends Activity {
         DisplayInfo display = U.getDisplayInfo(this);
         LinearLayout layout = findViewById(R.id.incognitoLayout);
         layout.setLayoutParams(new FrameLayout.LayoutParams(display.width, display.height));
+        if(BuildConfig.DEBUG) layout.setBackgroundColor(0x800000FF);
 
         LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
         lbm.registerReceiver(finishReceiver, new IntentFilter("com.farmerbb.taskbar.FINISH_FREEFORM_ACTIVITY"));
index a02f3e2..b429059 100644 (file)
@@ -535,6 +535,8 @@ public class U {
     }
 
     private static void prepareToStartActivity(Context context, Runnable runnable) {
+        LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.HIDE_CONTEXT_MENU"));
+
         boolean shouldLaunchTouchAbsorber =
                 !FreeformHackHelper.getInstance().isTouchAbsorberActive()
                         && isOverridingFreeformHack(context)