Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Magisk
Commits
343161b1
Commit
343161b1
authored
Jun 08, 2017
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add mount namespace options
parent
bc576a96
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
39 additions
and
1 deletion
+39
-1
MagiskManager.java
app/src/main/java/com/topjohnwu/magisk/MagiskManager.java
+3
-0
SettingsActivity.java
app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java
+9
-1
SuDatabaseHelper.java
.../java/com/topjohnwu/magisk/database/SuDatabaseHelper.java
+1
-0
arrays.xml
app/src/main/res/values/arrays.xml
+12
-0
strings.xml
app/src/main/res/values/strings.xml
+8
-0
app_settings.xml
app/src/main/res/xml/app_settings.xml
+6
-0
No files found.
app/src/main/java/com/topjohnwu/magisk/MagiskManager.java
View file @
343161b1
...
@@ -77,6 +77,7 @@ public class MagiskManager extends Application {
...
@@ -77,6 +77,7 @@ public class MagiskManager extends Application {
public
int
multiuserMode
;
public
int
multiuserMode
;
public
int
suResponseType
;
public
int
suResponseType
;
public
int
suNotificationType
;
public
int
suNotificationType
;
public
int
suNamespaceMode
;
// Global resources
// Global resources
public
SharedPreferences
prefs
;
public
SharedPreferences
prefs
;
...
@@ -137,6 +138,7 @@ public class MagiskManager extends Application {
...
@@ -137,6 +138,7 @@ public class MagiskManager extends Application {
.
putString
(
"su_notification"
,
String
.
valueOf
(
suNotificationType
))
.
putString
(
"su_notification"
,
String
.
valueOf
(
suNotificationType
))
.
putString
(
"su_access"
,
String
.
valueOf
(
suAccessState
))
.
putString
(
"su_access"
,
String
.
valueOf
(
suAccessState
))
.
putString
(
"multiuser_mode"
,
String
.
valueOf
(
multiuserMode
))
.
putString
(
"multiuser_mode"
,
String
.
valueOf
(
multiuserMode
))
.
putString
(
"mnt_ns"
,
String
.
valueOf
(
suNamespaceMode
))
.
putString
(
"busybox_version"
,
BUSYBOX_VERSION
)
.
putString
(
"busybox_version"
,
BUSYBOX_VERSION
)
.
apply
();
.
apply
();
// Add busybox to PATH
// Add busybox to PATH
...
@@ -164,6 +166,7 @@ public class MagiskManager extends Application {
...
@@ -164,6 +166,7 @@ public class MagiskManager extends Application {
if
(
isSuClient
)
{
if
(
isSuClient
)
{
suAccessState
=
suDB
.
getSettings
(
SuDatabaseHelper
.
ROOT_ACCESS
,
3
);
suAccessState
=
suDB
.
getSettings
(
SuDatabaseHelper
.
ROOT_ACCESS
,
3
);
multiuserMode
=
suDB
.
getSettings
(
SuDatabaseHelper
.
MULTIUSER_MODE
,
0
);
multiuserMode
=
suDB
.
getSettings
(
SuDatabaseHelper
.
MULTIUSER_MODE
,
0
);
suNamespaceMode
=
suDB
.
getSettings
(
SuDatabaseHelper
.
MNT_NS
,
1
);
}
}
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/SettingsActivity.java
View file @
343161b1
...
@@ -60,7 +60,7 @@ public class SettingsActivity extends Activity {
...
@@ -60,7 +60,7 @@ public class SettingsActivity extends Activity {
private
SharedPreferences
prefs
;
private
SharedPreferences
prefs
;
private
PreferenceScreen
prefScreen
;
private
PreferenceScreen
prefScreen
;
private
ListPreference
suAccess
,
autoRes
,
suNotification
,
requestTimeout
,
multiuserMode
;
private
ListPreference
suAccess
,
autoRes
,
suNotification
,
requestTimeout
,
multiuserMode
,
namespaceMode
;
private
MagiskManager
magiskManager
;
private
MagiskManager
magiskManager
;
@Override
@Override
...
@@ -80,6 +80,7 @@ public class SettingsActivity extends Activity {
...
@@ -80,6 +80,7 @@ public class SettingsActivity extends Activity {
requestTimeout
=
(
ListPreference
)
findPreference
(
"su_request_timeout"
);
requestTimeout
=
(
ListPreference
)
findPreference
(
"su_request_timeout"
);
suNotification
=
(
ListPreference
)
findPreference
(
"su_notification"
);
suNotification
=
(
ListPreference
)
findPreference
(
"su_notification"
);
multiuserMode
=
(
ListPreference
)
findPreference
(
"multiuser_mode"
);
multiuserMode
=
(
ListPreference
)
findPreference
(
"multiuser_mode"
);
namespaceMode
=
(
ListPreference
)
findPreference
(
"mnt_ns"
);
setSummary
();
setSummary
();
...
@@ -182,6 +183,11 @@ public class SettingsActivity extends Activity {
...
@@ -182,6 +183,11 @@ public class SettingsActivity extends Activity {
case
"multiuser_mode"
:
case
"multiuser_mode"
:
magiskManager
.
multiuserMode
=
Utils
.
getPrefsInt
(
prefs
,
"multiuser_mode"
,
0
);
magiskManager
.
multiuserMode
=
Utils
.
getPrefsInt
(
prefs
,
"multiuser_mode"
,
0
);
magiskManager
.
suDB
.
setSettings
(
SuDatabaseHelper
.
MULTIUSER_MODE
,
magiskManager
.
multiuserMode
);
magiskManager
.
suDB
.
setSettings
(
SuDatabaseHelper
.
MULTIUSER_MODE
,
magiskManager
.
multiuserMode
);
break
;
case
"mnt_ns"
:
magiskManager
.
suNamespaceMode
=
Utils
.
getPrefsInt
(
prefs
,
"mnt_ns"
,
1
);
magiskManager
.
suDB
.
setSettings
(
SuDatabaseHelper
.
MNT_NS
,
magiskManager
.
suNamespaceMode
);
break
;
case
"su_request_timeout"
:
case
"su_request_timeout"
:
magiskManager
.
suRequestTimeout
=
Utils
.
getPrefsInt
(
prefs
,
"su_request_timeout"
,
10
);
magiskManager
.
suRequestTimeout
=
Utils
.
getPrefsInt
(
prefs
,
"su_request_timeout"
,
10
);
break
;
break
;
...
@@ -212,6 +218,8 @@ public class SettingsActivity extends Activity {
...
@@ -212,6 +218,8 @@ public class SettingsActivity extends Activity {
getString
(
R
.
string
.
request_timeout_summary
,
prefs
.
getString
(
"su_request_timeout"
,
"10"
)));
getString
(
R
.
string
.
request_timeout_summary
,
prefs
.
getString
(
"su_request_timeout"
,
"10"
)));
multiuserMode
.
setSummary
(
getResources
()
multiuserMode
.
setSummary
(
getResources
()
.
getStringArray
(
R
.
array
.
multiuser_summary
)[
magiskManager
.
multiuserMode
]);
.
getStringArray
(
R
.
array
.
multiuser_summary
)[
magiskManager
.
multiuserMode
]);
namespaceMode
.
setSummary
(
getResources
()
.
getStringArray
(
R
.
array
.
namespace_summary
)[
magiskManager
.
suNamespaceMode
]);
}
}
}
}
...
...
app/src/main/java/com/topjohnwu/magisk/database/SuDatabaseHelper.java
View file @
343161b1
...
@@ -21,6 +21,7 @@ public class SuDatabaseHelper extends SQLiteOpenHelper {
...
@@ -21,6 +21,7 @@ public class SuDatabaseHelper extends SQLiteOpenHelper {
public
static
final
String
ROOT_ACCESS
=
"root_access"
;
public
static
final
String
ROOT_ACCESS
=
"root_access"
;
public
static
final
String
MULTIUSER_MODE
=
"multiuser_mode"
;
public
static
final
String
MULTIUSER_MODE
=
"multiuser_mode"
;
public
static
final
String
MNT_NS
=
"mnt_ns"
;
private
static
final
int
DATABASE_VER
=
2
;
private
static
final
int
DATABASE_VER
=
2
;
private
static
final
String
POLICY_TABLE
=
"policies"
;
private
static
final
String
POLICY_TABLE
=
"policies"
;
...
...
app/src/main/res/values/arrays.xml
View file @
343161b1
...
@@ -61,4 +61,16 @@
...
@@ -61,4 +61,16 @@
<item>
@string/user_indepenent_summary
</item>
<item>
@string/user_indepenent_summary
</item>
</string-array>
</string-array>
<string-array
name=
"namespace"
>
<item>
@string/settings_ns_global
</item>
<item>
@string/settings_ns_requester
</item>
<item>
@string/settings_ns_isolate
</item>
</string-array>
<string-array
name=
"namespace_summary"
>
<item>
@string/global_summary
</item>
<item>
@string/requester_summary
</item>
<item>
@string/isolate_summary
</item>
</string-array>
</resources>
</resources>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
343161b1
...
@@ -175,6 +175,14 @@
...
@@ -175,6 +175,14 @@
<string
name=
"user_indepenent_summary"
>
Each user has its own separate root rules
</string>
<string
name=
"user_indepenent_summary"
>
Each user has its own separate root rules
</string>
<string
name=
"multiuser_hint_owner_request"
>
A request has been sent to the device owner. Please switch to the owner and grant the permission
</string>
<string
name=
"multiuser_hint_owner_request"
>
A request has been sent to the device owner. Please switch to the owner and grant the permission
</string>
<string
name=
"mount_namespace_mode"
>
Mount Namespace Mode
</string>
<string
name=
"settings_ns_global"
>
Global Namespace
</string>
<string
name=
"settings_ns_requester"
>
Requester Namespace
</string>
<string
name=
"settings_ns_isolate"
>
Isolated Namespace
</string>
<string
name=
"global_summary"
>
All root sessions use the global mount namespace
</string>
<string
name=
"requester_summary"
>
Root sessions will use its requester\'s namespace
</string>
<string
name=
"isolate_summary"
>
Each root session will have its own isolated namespace
</string>
<string
name=
"settings_development_category"
>
App Development
</string>
<string
name=
"settings_development_category"
>
App Development
</string>
<string
name=
"settings_developer_logging_title"
>
Enable advanced debug logging
</string>
<string
name=
"settings_developer_logging_title"
>
Enable advanced debug logging
</string>
<string
name=
"settings_developer_logging_summary"
>
Check this to enable verbose logging
</string>
<string
name=
"settings_developer_logging_summary"
>
Check this to enable verbose logging
</string>
...
...
app/src/main/res/xml/app_settings.xml
View file @
343161b1
...
@@ -58,6 +58,12 @@
...
@@ -58,6 +58,12 @@
android:entries=
"@array/multiuser_mode"
android:entries=
"@array/multiuser_mode"
android:entryValues=
"@array/value_array"
/>
android:entryValues=
"@array/value_array"
/>
<ListPreference
android:key=
"mnt_ns"
android:title=
"@string/mount_namespace_mode"
android:entries=
"@array/namespace"
android:entryValues=
"@array/value_array"
/>
<ListPreference
<ListPreference
android:key=
"su_auto_response"
android:key=
"su_auto_response"
android:title=
"@string/auto_response"
android:title=
"@string/auto_response"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment