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') }
}
}
}
-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
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";
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);
+ }
}
+++ /dev/null
-// 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
+++ /dev/null
-// 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
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 {
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"));
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();
- }
- }
}
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;
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 {
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) {
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;
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;
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);
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 {
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();
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 {
Intent notificationIntent = new Intent(context, NotificationService.class);
notificationIntent.putExtra("start_services", startServices);
- OreoUtils.startForegroundService(context, notificationIntent);
+ CompatUtils.startForegroundService(context, notificationIntent);
}
}
}
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 {
notificationIntent.putExtra("start_services", true);
- OreoUtils.startForegroundService(context, notificationIntent);
+ CompatUtils.startForegroundService(context, notificationIntent);
} else {
pref.edit().putBoolean("is_hidden", true).apply();
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.START_MENU_DISAPPEARING"));
}
- OreoUtils.startForegroundService(context, notificationIntent);
+ CompatUtils.startForegroundService(context, notificationIntent);
}
}
}
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 {
Intent notificationIntent = new Intent(context, NotificationService.class);
notificationIntent.putExtra("start_services", true);
- OreoUtils.startForegroundService(context, notificationIntent);
+ CompatUtils.startForegroundService(context, notificationIntent);
}
}
}
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 {
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"));
context.startActivity(intent2);
- OreoUtils.startForegroundService(context, notificationIntent);
+ CompatUtils.startForegroundService(context, notificationIntent);
LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("com.farmerbb.taskbar.UPDATE_FREEFORM_CHECKBOX"));
} else
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;
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);
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 {
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))
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;
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);
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;
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);
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);
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;
? 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);
+ }
}