package com.farmerbb.taskbar.lib;
import android.app.Activity;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.PackageManager;
import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.farmerbb.taskbar.activity.MainActivity;
import com.farmerbb.taskbar.activity.SecondaryHomeActivity;
+import com.farmerbb.taskbar.util.U;
@Keep public class Taskbar {
* @param enabled "true" to enable desktop mode, "false" to disable
*/
@Keep public static void setEnabled(@NonNull Context context, boolean enabled) {
- ComponentName component = new ComponentName(context, SecondaryHomeActivity.class);
- context.getPackageManager().setComponentEnabledSetting(component, enabled
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(context, SecondaryHomeActivity.class, enabled);
}
}
\ No newline at end of file
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
editor.apply();
if(!U.isLibrary(this)) {
- ComponentName component = new ComponentName(this, HomeActivity.class);
- getPackageManager().setComponentEnabledSetting(component,
- launcherEnabled && !U.isDelegatingHomeActivity(this)
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component2 = new ComponentName(this, KeyboardShortcutActivity.class);
- getPackageManager().setComponentEnabledSetting(component2,
- pref.getBoolean("keyboard_shortcut", false)
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component3 = new ComponentName(this, ShortcutActivity.class);
- getPackageManager().setComponentEnabledSetting(component3,
- U.enableFreeformModeShortcut(this)
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component4 = new ComponentName(this, StartTaskbarActivity.class);
- getPackageManager().setComponentEnabledSetting(component4,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component5 = new ComponentName(this, SecondaryHomeActivity.class);
- getPackageManager().setComponentEnabledSetting(component5,
- desktopModeEnabled
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component6 = new ComponentName(this, HSLActivity.class);
- getPackageManager().setComponentEnabledSetting(component6,
- desktopModeEnabled
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(this, HomeActivity.class,
+ launcherEnabled && !U.isDelegatingHomeActivity(this));
+
+ U.setComponentEnabled(this, KeyboardShortcutActivity.class,
+ pref.getBoolean("keyboard_shortcut", false));
+
+ U.setComponentEnabled(this, ShortcutActivity.class,
+ U.enableFreeformModeShortcut(this));
+
+ U.setComponentEnabled(this, StartTaskbarActivity.class, true);
+ U.setComponentEnabled(this, SecondaryHomeActivity.class, desktopModeEnabled);
+ U.setComponentEnabled(this, HSLActivity.class, desktopModeEnabled);
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- ComponentName component7 = new ComponentName(this, KeyboardShortcutActivityLockDevice.class);
- getPackageManager().setComponentEnabledSetting(component7,
- pref.getBoolean("keyboard_shortcut", false)
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(this, KeyboardShortcutActivityLockDevice.class,
+ pref.getBoolean("keyboard_shortcut", false));
}
}
import android.app.FragmentTransaction;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
}
@SuppressLint("SetTextI18n")
+ @SuppressWarnings("deprecation")
@Override
public boolean onPreferenceClick(final Preference p) {
final SharedPreferences pref = U.getSharedPreferences(getActivity());
switch(p.getKey()) {
case "launcher":
if(U.canDrawOverlays(getActivity())) {
- ComponentName component = new ComponentName(getActivity(), HomeActivity.class);
- getActivity().getPackageManager().setComponentEnabledSetting(component,
- ((CheckBoxPreference) p).isChecked()
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(getActivity(), HomeActivity.class,
+ ((CheckBoxPreference) p).isChecked());
} else {
U.showPermissionDialog(getActivity());
((CheckBoxPreference) p).setChecked(false);
}
break;
case "keyboard_shortcut":
- ComponentName component = new ComponentName(getActivity(), KeyboardShortcutActivity.class);
- getActivity().getPackageManager().setComponentEnabledSetting(component,
- ((CheckBoxPreference) p).isChecked() ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(getActivity(), KeyboardShortcutActivity.class,
+ ((CheckBoxPreference) p).isChecked());
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
- ComponentName component2 = new ComponentName(getActivity(), KeyboardShortcutActivityLockDevice.class);
- getActivity().getPackageManager().setComponentEnabledSetting(component2,
- ((CheckBoxPreference) p).isChecked() ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(getActivity(), KeyboardShortcutActivityLockDevice.class,
+ ((CheckBoxPreference) p).isChecked());
}
break;
case "dashboard_grid_size":
import android.annotation.TargetApi;
import android.content.ActivityNotFoundException;
-import android.content.ComponentName;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
public boolean onPreferenceClick(final Preference p) {
switch(p.getKey()) {
case "desktop_mode":
- ComponentName component = new ComponentName(getActivity(), SecondaryHomeActivity.class);
- getActivity().getPackageManager().setComponentEnabledSetting(component,
- ((CheckBoxPreference) p).isChecked()
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
- ComponentName component2 = new ComponentName(getActivity(), HSLActivity.class);
- getActivity().getPackageManager().setComponentEnabledSetting(component2,
- ((CheckBoxPreference) p).isChecked()
- ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
- : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
+ U.setComponentEnabled(getActivity(), SecondaryHomeActivity.class,
+ ((CheckBoxPreference) p).isChecked());
+
+ U.setComponentEnabled(getActivity(), HSLActivity.class,
+ ((CheckBoxPreference) p).isChecked());
break;
case "set_launcher_default":
mAppWidgetHost.stopListening();
- U.unregisterReceiver(context, toggleReceiver);
- U.unregisterReceiver(context, addWidgetReceiver);
- U.unregisterReceiver(context, removeWidgetReceiver);
- U.unregisterReceiver(context, hideReceiver);
-
U.registerReceiver(context, toggleReceiver, TaskbarIntent.ACTION_TOGGLE_DASHBOARD);
U.registerReceiver(context, addWidgetReceiver, TaskbarIntent.ACTION_ADD_WIDGET_COMPLETED);
U.registerReceiver(context, removeWidgetReceiver, TaskbarIntent.ACTION_REMOVE_WIDGET_COMPLETED);
textView = layout.findViewById(R.id.no_apps_found);
- U.unregisterReceiver(context, toggleReceiver);
- U.unregisterReceiver(context, hideReceiver);
- U.unregisterReceiver(context, hideReceiverNoReset);
- U.unregisterReceiver(context, showSpaceReceiver);
- U.unregisterReceiver(context, hideSpaceReceiver);
- U.unregisterReceiver(context, resetReceiver);
-
U.registerReceiver(context, toggleReceiver, TaskbarIntent.ACTION_TOGGLE_START_MENU);
U.registerReceiver(context, hideReceiver, TaskbarIntent.ACTION_HIDE_START_MENU);
U.registerReceiver(context, hideReceiverNoReset, TaskbarIntent.ACTION_HIDE_START_MENU_NO_RESET);
new Handler().postDelayed(() -> U.startTouchAbsorberActivity(context), 500);
}
- U.unregisterReceiver(context, showReceiver);
- U.unregisterReceiver(context, hideReceiver);
- U.unregisterReceiver(context, tempShowReceiver);
- U.unregisterReceiver(context, tempHideReceiver);
- U.unregisterReceiver(context, startMenuAppearReceiver);
- U.unregisterReceiver(context, startMenuDisappearReceiver);
-
U.registerReceiver(context, showReceiver, TaskbarIntent.ACTION_SHOW_TASKBAR);
U.registerReceiver(context, hideReceiver, TaskbarIntent.ACTION_HIDE_TASKBAR);
U.registerReceiver(context, tempShowReceiver, TaskbarIntent.ACTION_TEMP_SHOW_TASKBAR);
}
public static void sendAccessibilityAction(Context context, int action, Runnable onComplete) {
- ComponentName component = new ComponentName(context, PowerMenuService.class);
- context.getPackageManager().setComponentEnabledSetting(component, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP);
+ setComponentEnabled(context, PowerMenuService.class, true);
boolean isAccessibilityServiceEnabled = isAccessibilityServiceEnabled(context);
public static void sendBroadcast(Context context, Intent intent) {
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
+
+ @SuppressWarnings("rawtypes")
+ public static void setComponentEnabled(Context context, Class clazz, boolean enabled) {
+ ComponentName component = new ComponentName(context, clazz);
+ context.getPackageManager().setComponentEnabledSetting(component,
+ enabled ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+ : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+ PackageManager.DONT_KILL_APP);
+ }
}
package com.farmerbb.taskbar.receiver;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
import com.farmerbb.taskbar.activity.HomeActivity;
import com.farmerbb.taskbar.content.TaskbarIntent;
import com.farmerbb.taskbar.util.U;
else if(!U.isLauncherPermanentlyEnabled(context)) {
pref.edit().putBoolean("launcher", false).apply();
- ComponentName component = new ComponentName(context, HomeActivity.class);
- context.getPackageManager().setComponentEnabledSetting(component,
- PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
- PackageManager.DONT_KILL_APP);
-
+ U.setComponentEnabled(context, HomeActivity.class, false);
U.sendBroadcast(context, TaskbarIntent.ACTION_KILL_HOME_ACTIVITY);
U.sendBroadcast(context, TaskbarIntent.ACTION_LAUNCHER_PREF_CHANGED);
}
package com.farmerbb.taskbar.receiver;
import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-import com.farmerbb.taskbar.BuildConfig;
import com.farmerbb.taskbar.activity.HomeActivity;
import com.farmerbb.taskbar.content.TaskbarIntent;
import com.farmerbb.taskbar.util.U;
editor.putBoolean("launcher", true);
editor.apply();
- ComponentName component = new ComponentName(context, HomeActivity.class);
- context.getPackageManager().setComponentEnabledSetting(component,
- PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
- PackageManager.DONT_KILL_APP);
-
+ U.setComponentEnabled(context, HomeActivity.class, true);
U.sendBroadcast(context, TaskbarIntent.ACTION_LAUNCHER_PREF_CHANGED);
}
}