OSDN Git Service

Move some logic into CompatUtils class
authorBraden Farmer <farmerbb@gmail.com>
Sat, 28 Oct 2017 20:49:26 +0000 (14:49 -0600)
committerBraden Farmer <farmerbb@gmail.com>
Sat, 28 Oct 2017 22:09:23 +0000 (16:09 -0600)
22 files changed:
app/build.gradle
app/proguard-rules.pro
app/src/androidx86/java/com/farmerbb/taskbar/util/CompatUtils.java [moved from app/src/androidx86/java/com/farmerbb/taskbar/util/OreoUtils.java with 67% similarity]
app/src/androidx86/java/com/mikepenz/iconics/Iconics.java [deleted file]
app/src/androidx86/java/moe/banana/support/ToastCompat.java [deleted file]
app/src/main/java/com/farmerbb/taskbar/fragment/AdvancedFragment.java
app/src/main/java/com/farmerbb/taskbar/fragment/FreeformModeFragment.java
app/src/main/java/com/farmerbb/taskbar/fragment/GeneralFragment.java
app/src/main/java/com/farmerbb/taskbar/receiver/BootReceiver.java
app/src/main/java/com/farmerbb/taskbar/receiver/PackageUpgradeReceiver.java
app/src/main/java/com/farmerbb/taskbar/receiver/ShowHideTaskbarReceiver.java
app/src/main/java/com/farmerbb/taskbar/receiver/StartReceiver.java
app/src/main/java/com/farmerbb/taskbar/receiver/ToggleFreeformModeReceiver.java
app/src/main/java/com/farmerbb/taskbar/service/DashboardService.java
app/src/main/java/com/farmerbb/taskbar/service/NotificationService.java
app/src/main/java/com/farmerbb/taskbar/service/StartMenuService.java
app/src/main/java/com/farmerbb/taskbar/service/TaskbarService.java
app/src/main/java/com/farmerbb/taskbar/util/U.java
app/src/playstore/java/com/farmerbb/taskbar/util/CompatUtils.java [moved from app/src/oreoutils/java/com/farmerbb/taskbar/util/OreoUtils.java with 81% similarity]
app/src/playstore/java/com/farmerbb/taskbar/util/ToastCompatImpl.java [moved from app/src/main/java/com/farmerbb/taskbar/util/ToastCompatImpl.java with 100% similarity]
app/src/playstore/res/mipmap-anydpi-v26/ic_freeform_mode.xml [moved from app/src/oreoutils/res/mipmap-anydpi-v26/ic_freeform_mode.xml with 100% similarity]
app/src/playstore/res/mipmap-anydpi-v26/ic_launcher.xml [moved from app/src/oreoutils/res/mipmap-anydpi-v26/ic_launcher.xml with 100% similarity]

index 2a7fe89..33ed89c 100644 (file)
@@ -78,8 +78,8 @@ android {
 
     sourceSets {
         main {
-            java { srcDirs('src/main/java', 'src/oreoutils/java') }
-            res { srcDirs('src/main/res', 'src/oreoutils/res') }
+            java { srcDirs('src/main/java', 'src/playstore/java') }
+            res { srcDirs('src/main/res', 'src/playstore/res') }
         }
     }
 }
index 1bf7446..87ede8c 100644 (file)
@@ -10,8 +10,4 @@
 
 -dontwarn java.lang.invoke.*
 
--keep class **.R$string
-
--keep class moe.banana.support.ToastCompat { *; }
--keep class com.mikepenz.iconics.Iconics$IconicsBuilder { *; }
--keep class com.mikepenz.iconics.Iconics$IconicsBuilderString { *; }
\ No newline at end of file
+-keep class **.R$string
\ No newline at end of file
@@ -20,9 +20,15 @@ import android.content.Intent;
 import android.support.v4.app.NotificationCompat;
 import android.view.WindowManager;
 
-public class OreoUtils {
+import com.farmerbb.taskbar.R;
 
-    private OreoUtils() {}
+// Utility class meant for compatibility between the Android-x86 version of Taskbar (targeting API 25)
+// and the Play Store version of Taskbar (targeting API 27, with additional dependencies).
+// Do not make changes to this file without making corresponding changes to the Android-x86 version.
+
+public class CompatUtils {
+
+    private CompatUtils() {}
 
     public static String ACTION_APP_NOTIFICATION_SETTINGS = "android.settings.APP_NOTIFICATION_SETTINGS";
     public static String EXTRA_APP_PACKAGE = "android.provider.extra.APP_PACKAGE";
@@ -43,4 +49,12 @@ public class OreoUtils {
     public static int getOverlayType() {
         return WindowManager.LayoutParams.TYPE_PHONE;
     }
+
+    public static CharSequence getKeyboardShortcutSummary(Context context) {
+        return context.getString(R.string.pref_description_keyboard_shortcut_alt);
+    }
+
+    static ToastInterface createToast(Context context, String message, int length) {
+        return new ToastFrameworkImpl(context, message, length);
+    }
 }
diff --git a/app/src/androidx86/java/com/mikepenz/iconics/Iconics.java b/app/src/androidx86/java/com/mikepenz/iconics/Iconics.java
deleted file mode 100644 (file)
index 64997ad..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-// Stub class used for Android-x86 builds
-
-package com.mikepenz.iconics;
-
-import android.content.Context;
-
-public class Iconics {
-
-    public static class IconicsBuilder {
-
-        public IconicsBuilder ctx(Context context) {
-            return this;
-        }
-
-        public IconicsBuilder on(String string) {
-            return this;
-        }
-
-        public CharSequence build() {
-            return null;
-        }
-    }
-}
\ No newline at end of file
diff --git a/app/src/androidx86/java/moe/banana/support/ToastCompat.java b/app/src/androidx86/java/moe/banana/support/ToastCompat.java
deleted file mode 100644 (file)
index 52dbc1b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-// Stub class used for Android-x86 builds
-
-package moe.banana.support;
-
-import android.content.Context;
-
-public class ToastCompat {
-
-    public static ToastCompat makeText(Context context, String message, int length) {
-        return new ToastCompat();
-    }
-
-    public void show() {}
-
-    public void cancel() {}
-}
\ No newline at end of file
index eccce94..e83bc41 100644 (file)
@@ -43,8 +43,8 @@ import com.farmerbb.taskbar.activity.dark.ClearDataActivityDark;
 import com.farmerbb.taskbar.activity.HomeActivity;
 import com.farmerbb.taskbar.activity.KeyboardShortcutActivity;
 import com.farmerbb.taskbar.activity.dark.NavigationBarButtonsActivityDark;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
-import com.mikepenz.iconics.Iconics;
 
 public class AdvancedFragment extends SettingsFragment implements Preference.OnPreferenceClickListener {
 
@@ -64,7 +64,7 @@ public class AdvancedFragment extends SettingsFragment implements Preference.OnP
             findPreference("keyboard_shortcut").setOnPreferenceClickListener(this);
             findPreference("dashboard_grid_size").setOnPreferenceClickListener(this);
             findPreference("navigation_bar_buttons").setOnPreferenceClickListener(this);
-            findPreference("keyboard_shortcut").setSummary(getKeyboardShortcutSummary());
+            findPreference("keyboard_shortcut").setSummary(CompatUtils.getKeyboardShortcutSummary(getActivity()));
 
             bindPreferenceSummaryToValue(findPreference("dashboard"));
 
@@ -239,15 +239,4 @@ public class AdvancedFragment extends SettingsFragment implements Preference.OnP
 
         if(restartTaskbar) U.restartTaskbar(getActivity());
     }
-
-    private CharSequence getKeyboardShortcutSummary() {
-        if(BuildConfig.APPLICATION_ID.equals(BuildConfig.ANDROIDX86_APPLICATION_ID)) {
-            return getString(R.string.pref_description_keyboard_shortcut_alt);
-        } else {
-            return new Iconics.IconicsBuilder()
-                    .ctx(getActivity())
-                    .on(getString(R.string.pref_description_keyboard_shortcut))
-                    .build();
-        }
-    }
 }
index a39ce72..d64b2ba 100644 (file)
@@ -22,10 +22,6 @@ import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ShortcutInfo;
-import android.content.pm.ShortcutManager;
 import android.os.Build;
 import android.os.Bundle;
 import android.preference.CheckBoxPreference;
@@ -39,7 +35,7 @@ import android.view.View;
 
 import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.util.FreeformHackHelper;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class FreeformModeFragment extends SettingsFragment implements Preference.OnPreferenceClickListener {
@@ -199,7 +195,7 @@ public class FreeformModeFragment extends SettingsFragment implements Preference
                 dialog.show();
                 break;
             case "add_shortcut":
-                OreoUtils.pinAppShortcut(getActivity());
+                CompatUtils.pinAppShortcut(getActivity());
                 break;
             case "window_size":
                 if(Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1) {
index 13acafe..6503a67 100644 (file)
@@ -21,7 +21,6 @@ import android.content.SharedPreferences;
 import android.os.Build;
 import android.os.Bundle;
 import android.preference.Preference;
-import android.provider.Settings;
 import android.support.v7.app.ActionBar;
 import android.support.v7.app.AppCompatActivity;
 
@@ -30,7 +29,7 @@ import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.activity.SelectAppActivity;
 import com.farmerbb.taskbar.activity.dark.SelectAppActivityDark;
 import com.farmerbb.taskbar.util.Blacklist;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.TopApps;
 import com.farmerbb.taskbar.util.U;
 
@@ -111,10 +110,10 @@ public class GeneralFragment extends SettingsFragment implements Preference.OnPr
                 break;
             case "notification_settings":
                 Intent intent2 = new Intent();
-                intent2.setAction(OreoUtils.ACTION_APP_NOTIFICATION_SETTINGS);
+                intent2.setAction(CompatUtils.ACTION_APP_NOTIFICATION_SETTINGS);
 
                 if(Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1)
-                    intent2.putExtra(OreoUtils.EXTRA_APP_PACKAGE, BuildConfig.APPLICATION_ID);
+                    intent2.putExtra(CompatUtils.EXTRA_APP_PACKAGE, BuildConfig.APPLICATION_ID);
                 else {
                     intent2.putExtra("app_package", BuildConfig.APPLICATION_ID);
                     intent2.putExtra("app_uid", getActivity().getApplicationInfo().uid);
index d36fce9..05f330d 100644 (file)
@@ -23,7 +23,7 @@ import android.os.Build;
 
 import com.farmerbb.taskbar.activity.DummyActivity;
 import com.farmerbb.taskbar.service.NotificationService;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class BootReceiver extends BroadcastReceiver {
@@ -59,7 +59,7 @@ public class BootReceiver extends BroadcastReceiver {
                 Intent notificationIntent = new Intent(context, NotificationService.class);
                 notificationIntent.putExtra("start_services", startServices);
 
-                OreoUtils.startForegroundService(context, notificationIntent);
+                CompatUtils.startForegroundService(context, notificationIntent);
             } else {
                 editor.putBoolean("taskbar_active", U.isServiceRunning(context, NotificationService.class));
                 editor.apply();
index c7e8239..c3c68a0 100644 (file)
@@ -23,7 +23,7 @@ import android.os.Build;
 
 import com.farmerbb.taskbar.activity.DummyActivity;
 import com.farmerbb.taskbar.service.NotificationService;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class PackageUpgradeReceiver extends BroadcastReceiver {
@@ -49,7 +49,7 @@ public class PackageUpgradeReceiver extends BroadcastReceiver {
                 Intent notificationIntent = new Intent(context, NotificationService.class);
                 notificationIntent.putExtra("start_services", startServices);
 
-                OreoUtils.startForegroundService(context, notificationIntent);
+                CompatUtils.startForegroundService(context, notificationIntent);
             }
         }
     }
index 0e6eeb7..eaf4fdb 100644 (file)
@@ -29,7 +29,7 @@ import com.farmerbb.taskbar.service.StartMenuService;
 import com.farmerbb.taskbar.service.TaskbarService;
 import com.farmerbb.taskbar.util.IconCache;
 import com.farmerbb.taskbar.util.LauncherHelper;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class ShowHideTaskbarReceiver extends BroadcastReceiver {
@@ -56,7 +56,7 @@ public class ShowHideTaskbarReceiver extends BroadcastReceiver {
 
             notificationIntent.putExtra("start_services", true);
 
-            OreoUtils.startForegroundService(context, notificationIntent);
+            CompatUtils.startForegroundService(context, notificationIntent);
         } else {
             pref.edit().putBoolean("is_hidden", true).apply();
 
@@ -72,7 +72,7 @@ public class ShowHideTaskbarReceiver extends BroadcastReceiver {
                 LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.START_MENU_DISAPPEARING"));
             }
 
-            OreoUtils.startForegroundService(context, notificationIntent);
+            CompatUtils.startForegroundService(context, notificationIntent);
         }
     }
 }
index c4bd49a..910c641 100644 (file)
@@ -23,7 +23,7 @@ import android.os.Build;
 
 import com.farmerbb.taskbar.activity.DummyActivity;
 import com.farmerbb.taskbar.service.NotificationService;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class StartReceiver extends BroadcastReceiver {
@@ -64,7 +64,7 @@ public class StartReceiver extends BroadcastReceiver {
             Intent notificationIntent = new Intent(context, NotificationService.class);
             notificationIntent.putExtra("start_services", true);
 
-            OreoUtils.startForegroundService(context, notificationIntent);
+            CompatUtils.startForegroundService(context, notificationIntent);
         }
     }
 }
index 14b7497..2616095 100644 (file)
@@ -19,13 +19,12 @@ import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.SharedPreferences;
-import android.os.Build;
 import android.support.v4.content.LocalBroadcastManager;
 
 import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.activity.DummyActivity;
 import com.farmerbb.taskbar.service.NotificationService;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class ToggleFreeformModeReceiver extends BroadcastReceiver {
@@ -39,7 +38,7 @@ public class ToggleFreeformModeReceiver extends BroadcastReceiver {
 
             context.stopService(notificationIntent);
 
-            OreoUtils.startForegroundService(context, notificationIntent);
+            CompatUtils.startForegroundService(context, notificationIntent);
 
             LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.FINISH_FREEFORM_ACTIVITY"));
             LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.UPDATE_FREEFORM_CHECKBOX"));
@@ -54,7 +53,7 @@ public class ToggleFreeformModeReceiver extends BroadcastReceiver {
 
             context.startActivity(intent2);
 
-            OreoUtils.startForegroundService(context, notificationIntent);
+            CompatUtils.startForegroundService(context, notificationIntent);
 
             LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.UPDATE_FREEFORM_CHECKBOX"));
         } else
index eb9ef5e..0db5936 100644 (file)
@@ -64,7 +64,7 @@ import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.activity.DashboardActivity;
 import com.farmerbb.taskbar.activity.dark.DashboardActivityDark;
 import com.farmerbb.taskbar.util.DashboardHelper;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.widget.DashboardCell;
 import com.farmerbb.taskbar.util.FreeformHackHelper;
 import com.farmerbb.taskbar.util.LauncherHelper;
@@ -195,7 +195,7 @@ public class DashboardService extends Service {
         final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                 WindowManager.LayoutParams.MATCH_PARENT,
                 WindowManager.LayoutParams.MATCH_PARENT,
-                OreoUtils.getOverlayType(),
+                CompatUtils.getOverlayType(),
                 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                 PixelFormat.TRANSLUCENT);
 
index f587c2c..32b57fe 100644 (file)
@@ -37,7 +37,7 @@ import com.farmerbb.taskbar.BuildConfig;
 import com.farmerbb.taskbar.MainActivity;
 import com.farmerbb.taskbar.R;
 import com.farmerbb.taskbar.util.IconCache;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.U;
 
 public class NotificationService extends Service {
@@ -103,7 +103,7 @@ public class NotificationService extends Service {
                 PendingIntent receiverPendingIntent = PendingIntent.getBroadcast(this, 0, receiverIntent, PendingIntent.FLAG_UPDATE_CURRENT);
                 PendingIntent receiverPendingIntent2 = PendingIntent.getBroadcast(this, 0, receiverIntent2, PendingIntent.FLAG_UPDATE_CURRENT);
 
-                NotificationCompat.Builder mBuilder = OreoUtils.getNotificationBuilder(this)
+                NotificationCompat.Builder mBuilder = CompatUtils.getNotificationBuilder(this)
                         .setSmallIcon(pref.getBoolean("app_drawer_icon", false) ? R.drawable.ic_system : R.drawable.ic_allapps)
                         .setContentIntent(contentIntent)
                         .setContentTitle(getString(R.string.taskbar_is_active))
index 79e6343..0d180fb 100644 (file)
@@ -74,7 +74,7 @@ import com.farmerbb.taskbar.util.FreeformHackHelper;
 import com.farmerbb.taskbar.util.IconCache;
 import com.farmerbb.taskbar.util.LauncherHelper;
 import com.farmerbb.taskbar.util.MenuHelper;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.TopApps;
 import com.farmerbb.taskbar.util.U;
 import com.farmerbb.taskbar.widget.StartMenuLayout;
@@ -218,7 +218,7 @@ public class StartMenuService extends Service {
         final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                 WindowManager.LayoutParams.WRAP_CONTENT,
                 WindowManager.LayoutParams.WRAP_CONTENT,
-                OreoUtils.getOverlayType(),
+                CompatUtils.getOverlayType(),
                 shouldShowSearchBox ? 0 : WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                 PixelFormat.TRANSLUCENT);
 
index 3a7a598..0fb2716 100644 (file)
@@ -87,7 +87,7 @@ import com.farmerbb.taskbar.util.ApplicationType;
 import com.farmerbb.taskbar.util.FreeformHackHelper;
 import com.farmerbb.taskbar.util.IconCache;
 import com.farmerbb.taskbar.util.LauncherHelper;
-import com.farmerbb.taskbar.util.OreoUtils;
+import com.farmerbb.taskbar.util.CompatUtils;
 import com.farmerbb.taskbar.util.PinnedBlockedApps;
 import com.farmerbb.taskbar.util.MenuHelper;
 import com.farmerbb.taskbar.util.U;
@@ -222,7 +222,7 @@ public class TaskbarService extends Service {
         final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
                 WindowManager.LayoutParams.WRAP_CONTENT,
                 WindowManager.LayoutParams.WRAP_CONTENT,
-                OreoUtils.getOverlayType(),
+                CompatUtils.getOverlayType(),
                 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM,
                 PixelFormat.TRANSLUCENT);
 
index fe75fc7..e428623 100644 (file)
@@ -189,13 +189,7 @@ public class U {
     public static void showToast(Context context, String message, int length) {
         cancelToast();
 
-        ToastInterface toast;
-        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1
-                || BuildConfig.APPLICATION_ID.equals(BuildConfig.ANDROIDX86_APPLICATION_ID))
-            toast = new ToastFrameworkImpl(context, message, length);
-        else
-            toast = new ToastCompatImpl(context, message, length);
-
+        ToastInterface toast = CompatUtils.createToast(context, message, length);
         toast.show();
 
         ToastHelper.getInstance().setLastToast(toast);
@@ -28,15 +28,16 @@ import android.support.v4.app.NotificationCompat;
 import android.view.WindowManager;
 
 import com.farmerbb.taskbar.R;
+import com.mikepenz.iconics.Iconics;
 
 // Utility class meant for compatibility between the Android-x86 version of Taskbar (targeting API 25)
-// and the Play Store version of Taskbar (currently targeting API 27).
+// and the Play Store version of Taskbar (targeting API 27, with additional dependencies).
 // Do not make changes to this file without making corresponding changes to the Android-x86 version.
 
 @TargetApi(Build.VERSION_CODES.O)
-public class OreoUtils {
+public class CompatUtils {
 
-    private OreoUtils() {}
+    private CompatUtils() {}
 
     public static String ACTION_APP_NOTIFICATION_SETTINGS = Settings.ACTION_APP_NOTIFICATION_SETTINGS;
     public static String EXTRA_APP_PACKAGE = Settings.EXTRA_APP_PACKAGE;
@@ -80,4 +81,18 @@ public class OreoUtils {
                 ? WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY
                 : WindowManager.LayoutParams.TYPE_PHONE;
     }
+
+    public static CharSequence getKeyboardShortcutSummary(Context context) {
+        return new Iconics.IconicsBuilder()
+                .ctx(context)
+                .on(context.getString(R.string.pref_description_keyboard_shortcut))
+                .build();
+    }
+
+    static ToastInterface createToast(Context context, String message, int length) {
+        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N_MR1)
+            return new ToastFrameworkImpl(context, message, length);
+        else
+            return new ToastCompatImpl(context, message, length);
+    }
 }