OSDN Git Service

allow customization of the requestor prefix
authorKoushik Dutta <koushd@gmail.com>
Mon, 4 Mar 2013 07:50:08 +0000 (23:50 -0800)
committerKoushik Dutta <koushd@gmail.com>
Mon, 4 Mar 2013 07:50:14 +0000 (23:50 -0800)
Change-Id: I0648be88716f2e3df6fdf20392390ec98db93d9f

Android.mk
Superuser/jni/su/su.h
Superuser/src/com/koushikdutta/superuser/RequestActivity.java

index 7d0f4b4..4b32b91 100644 (file)
@@ -24,6 +24,9 @@ LOCAL_STATIC_LIBRARIES := libc
 LOCAL_C_INCLUDES := external/sqlite/dist
 LOCAL_SRC_FILES := Superuser/jni/su/su.c Superuser/jni/su/activity.c Superuser/jni/su/db.c Superuser/jni/su/utils.c ../../sqlite/dist/sqlite3.c
 LOCAL_CFLAGS := -DSQLITE_OMIT_LOAD_EXTENSION -DREQUESTOR=\"$(SUPERUSER_PACKAGE)\"
+ifdef SUPERUSER_PACKAGE_PREFIX
+  LOCAL_CFLAGS += -DREQUESTOR_PREFIX=\"$(SUPERUSER_PACKAGE_PREFIX)\"
+endif
 LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
 include $(BUILD_EXECUTABLE)
 
index 06717d0..24a51b0 100644 (file)
@@ -46,6 +46,9 @@
 #ifndef REQUESTOR
 #define REQUESTOR JAVA_PACKAGE_NAME
 #endif
+#ifndef REQUESTOR_PREFIX
+#define REQUESTOR_PREFIX JAVA_PACKAGE_NAME
+#endif
 #define REQUESTOR_DATA_PATH "/data/data/"
 #define REQUESTOR_FILES_PATH REQUESTOR_DATA_PATH REQUESTOR "/files"
 #define REQUESTOR_USER_PATH "/data/user/"
@@ -58,9 +61,9 @@
 #define REQUESTOR_MULTIUSER_MODE REQUESTOR_FILES_PATH "/multiuser_mode"
 
 /* intent actions */
-#define ACTION_REQUEST "start -n " REQUESTOR "/" JAVA_PACKAGE_NAME ".RequestActivity"
-#define ACTION_NOTIFY "start -n " REQUESTOR "/" JAVA_PACKAGE_NAME ".NotifyActivity"
-#define ACTION_RESULT "broadcast -n " REQUESTOR "/" JAVA_PACKAGE_NAME ".SuReceiver"
+#define ACTION_REQUEST "start -n " REQUESTOR "/" REQUESTOR_PREFIX ".RequestActivity"
+#define ACTION_NOTIFY "start -n " REQUESTOR "/" REQUESTOR_PREFIX ".NotifyActivity"
+#define ACTION_RESULT "broadcast -n " REQUESTOR "/" REQUESTOR_PREFIX ".SuReceiver"
 
 #define DEFAULT_SHELL "/system/bin/sh"
 
index df659d7..cdd1503 100644 (file)
@@ -19,6 +19,7 @@ package com.koushikdutta.superuser;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
+import android.util.Log;
 
 public class RequestActivity extends Activity {
     @Override
@@ -32,7 +33,9 @@ public class RequestActivity extends Activity {
         }
         
         intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.setClass(this, MultitaskSuRequestActivity.class);
+        String name = getClass().getPackage().getName() + "." + MultitaskSuRequestActivity.class.getSimpleName();
+        Log.i("Superuser", "Launching: " + name);
+        intent.setClassName(this, name);
         startActivity(intent);
         finish();
         return;