diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index f5bcb9c..78bf9e5 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,7 +7,7 @@
-
+
@@ -40,19 +40,7 @@
-
-
-
-
-
-
+
diff --git a/app/src/main/java/io/github/sankalp/lunox/LauncherActivity.java b/app/src/main/java/io/github/sankalp/lunox/LauncherActivity.java
index 0b1aa8e..8312105 100644
--- a/app/src/main/java/io/github/sankalp/lunox/LauncherActivity.java
+++ b/app/src/main/java/io/github/sankalp/lunox/LauncherActivity.java
@@ -93,7 +93,7 @@ import io.github.sankalp.lunox.model.Apps;
import io.github.sankalp.lunox.model.Shortcut;
import io.github.sankalp.lunox.utils.CrashUtils;
import io.github.sankalp.lunox.utils.DbUtils;
-import io.github.sankalp.lunox.utils.DeviceAdminManager;
+
import io.github.sankalp.lunox.utils.Gestures;
import io.github.sankalp.lunox.utils.NotificationPanelManager;
import io.github.sankalp.lunox.utils.ShortcutUtils;
@@ -1211,11 +1211,7 @@ public class LauncherActivity extends Activity implements View.OnClickListener,
}
}
- @Override
- public void onDoubleTap() {
- // Always lock the device on double tap
- DeviceAdminManager.lockDevice(this);
- }
+
diff --git a/app/src/main/java/io/github/sankalp/lunox/dialogs/PermissionDialog.java b/app/src/main/java/io/github/sankalp/lunox/dialogs/PermissionDialog.java
index 0c5a1a8..fa799d0 100644
--- a/app/src/main/java/io/github/sankalp/lunox/dialogs/PermissionDialog.java
+++ b/app/src/main/java/io/github/sankalp/lunox/dialogs/PermissionDialog.java
@@ -33,13 +33,12 @@ import android.widget.Toast;
import io.github.sankalp.lunox.LauncherActivity;
import io.github.sankalp.lunox.R;
import io.github.sankalp.lunox.utils.DbUtils;
-import io.github.sankalp.lunox.utils.DeviceAdminManager;
+
public class PermissionDialog extends Dialog implements View.OnClickListener {
private final LauncherActivity context;
private TextView usageAccessButton;
- private TextView deviceAdminButton;
private TextView continueButton;
public PermissionDialog(Context context, LauncherActivity launcherActivity) {
@@ -56,12 +55,10 @@ public class PermissionDialog extends Dialog implements View.OnClickListener {
// Initialize views
usageAccessButton = findViewById(R.id.permission_usage_access);
- deviceAdminButton = findViewById(R.id.permission_device_admin);
continueButton = findViewById(R.id.permission_continue);
// Set click listeners
usageAccessButton.setOnClickListener(this);
- deviceAdminButton.setOnClickListener(this);
continueButton.setOnClickListener(this);
// Update button states
@@ -74,8 +71,6 @@ public class PermissionDialog extends Dialog implements View.OnClickListener {
if (id == R.id.permission_usage_access) {
openUsageAccessSettings();
- } else if (id == R.id.permission_device_admin) {
- enableDeviceAdmin();
} else if (id == R.id.permission_continue) {
continueToLauncher();
}
@@ -94,28 +89,20 @@ public class PermissionDialog extends Dialog implements View.OnClickListener {
}
}
- private void enableDeviceAdmin() {
- try {
- DeviceAdminManager.requestDeviceAdminPermission(context);
- Toast.makeText(context, "Please enable Device Admin for Lunox", Toast.LENGTH_LONG).show();
- } catch (Exception e) {
- Toast.makeText(context, "Unable to open Device Admin settings", Toast.LENGTH_SHORT).show();
- }
- }
+
private void continueToLauncher() {
// Mark permission dialog as shown
DbUtils.setPermissionDialogShown(true);
- // Check if at least one permission is granted
+ // Check if usage access permission is granted
boolean hasUsageAccess = checkUsageAccessPermission();
- boolean hasDeviceAdmin = DeviceAdminManager.isDeviceAdminActive(context);
- if (hasUsageAccess || hasDeviceAdmin) {
+ if (hasUsageAccess) {
dismiss();
context.loadApps(); // Reload apps after permissions are granted
} else {
- Toast.makeText(context, "Please grant at least one permission to continue", Toast.LENGTH_LONG).show();
+ Toast.makeText(context, "Please grant Usage Access permission to continue", Toast.LENGTH_LONG).show();
}
}
@@ -133,22 +120,12 @@ public class PermissionDialog extends Dialog implements View.OnClickListener {
// Update Usage Access button
boolean hasUsageAccess = checkUsageAccessPermission();
if (hasUsageAccess) {
- usageAccessButton.setText("Usage Access");
+ usageAccessButton.setText("Usage Access ✓");
usageAccessButton.setAlpha(0.7f);
} else {
usageAccessButton.setText("Enable Usage Access");
usageAccessButton.setAlpha(1.0f);
}
-
- // Update Device Admin button
- boolean hasDeviceAdmin = DeviceAdminManager.isDeviceAdminActive(context);
- if (hasDeviceAdmin) {
- deviceAdminButton.setText("Device Admin");
- deviceAdminButton.setAlpha(0.7f);
- } else {
- deviceAdminButton.setText("Enable Device Admin");
- deviceAdminButton.setAlpha(1.0f);
- }
}
@Override
diff --git a/app/src/main/java/io/github/sankalp/lunox/utils/DeviceAdminManager.java b/app/src/main/java/io/github/sankalp/lunox/utils/DeviceAdminManager.java
deleted file mode 100644
index bf566c4..0000000
--- a/app/src/main/java/io/github/sankalp/lunox/utils/DeviceAdminManager.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package io.github.sankalp.lunox.utils;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.widget.Toast;
-
-import io.github.sankalp.lunox.R;
-
-public class DeviceAdminManager {
-
- private static final String TAG = "DeviceAdminManager";
-
- public static boolean isDeviceAdminActive(Context context) {
- DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
- ComponentName adminComponent = new ComponentName(context, io.github.sankalp.lunox.utils.lunoxDeviceAdminReceiver.class);
- return dpm.isAdminActive(adminComponent);
- }
-
- public static void requestDeviceAdminPermission(Context context) {
- DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
- ComponentName adminComponent = new ComponentName(context, io.github.sankalp.lunox.utils.lunoxDeviceAdminReceiver.class);
-
- Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
- intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, adminComponent);
- intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, context.getString(R.string.device_admin_description));
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- context.startActivity(intent);
- }
-
- public static boolean lockDevice(Context context) {
- if (!isDeviceAdminActive(context)) {
- Toast.makeText(context, R.string.device_admin_disabled, Toast.LENGTH_SHORT).show();
- requestDeviceAdminPermission(context);
- return false;
- }
-
- try {
- DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
- ComponentName adminComponent = new ComponentName(context, io.github.sankalp.lunox.utils.lunoxDeviceAdminReceiver.class);
- dpm.lockNow();
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- Toast.makeText(context, "Failed to lock device", Toast.LENGTH_SHORT).show();
- return false;
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/sankalp/lunox/utils/Gestures.java b/app/src/main/java/io/github/sankalp/lunox/utils/Gestures.java
index 656570e..dfcba81 100644
--- a/app/src/main/java/io/github/sankalp/lunox/utils/Gestures.java
+++ b/app/src/main/java/io/github/sankalp/lunox/utils/Gestures.java
@@ -73,11 +73,7 @@ public class Gestures extends GestureDetector.SimpleOnGestureListener {
return consumed;
}
- @Override
- public boolean onDoubleTap(MotionEvent arg) {
- this.listener.onDoubleTap();
- return true;
- }
+
public enum Direction {
@@ -86,8 +82,6 @@ public class Gestures extends GestureDetector.SimpleOnGestureListener {
public interface OnSwipeListener {
void onSwipe(Direction direction);
-
- void onDoubleTap();
}
}
\ No newline at end of file
diff --git a/app/src/main/java/io/github/sankalp/lunox/utils/lunoxDeviceAdminReceiver.java b/app/src/main/java/io/github/sankalp/lunox/utils/lunoxDeviceAdminReceiver.java
deleted file mode 100644
index 5f5f5b1..0000000
--- a/app/src/main/java/io/github/sankalp/lunox/utils/lunoxDeviceAdminReceiver.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package io.github.sankalp.lunox.utils;
-
-import android.app.admin.DeviceAdminReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.widget.Toast;
-
-public class lunoxDeviceAdminReceiver extends DeviceAdminReceiver {
-
- @Override
- public void onEnabled(Context context, Intent intent) {
- super.onEnabled(context, intent);
- Toast.makeText(context, "Device Admin Enabled", Toast.LENGTH_SHORT).show();
- }
-
- @Override
- public void onDisabled(Context context, Intent intent) {
- super.onDisabled(context, intent);
- Toast.makeText(context, "Device Admin Disabled", Toast.LENGTH_SHORT).show();
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_permission_setup.xml b/app/src/main/res/layout/dialog_permission_setup.xml
index 92fae87..05fecd0 100644
--- a/app/src/main/res/layout/dialog_permission_setup.xml
+++ b/app/src/main/res/layout/dialog_permission_setup.xml
@@ -61,19 +61,7 @@
android:clickable="true"
android:focusable="true" />
-
-
+
Recently first
Restart Launcher
- Lunox Device Admin
- Required for double-tap to lock screen functionality
- Enable Device Admin
- Device Admin is required for lock screen functionality
+
Welcome to Lunox! 🚀
- To provide the best launcher experience, Lunox needs these permissions:\n\nUsage Access - Display all your apps\nDevice Admin - Enable advanced features\n\nTap each permission below to enable it.
+ To provide the best launcher experience, Lunox needs this permission:\n\nUsage Access - Display all your apps\n\nTap the permission below to enable it.
diff --git a/app/src/main/res/xml/device_admin.xml b/app/src/main/res/xml/device_admin.xml
deleted file mode 100644
index e4383ba..0000000
--- a/app/src/main/res/xml/device_admin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file