Skip to content

Commit 22c4b47

Browse files
bfranzAndroid (Google) Code Review
authored and
Android (Google) Code Review
committed
Merge "Disable home intent receiver for kiosk mode by default" into mnc-dev
2 parents 2ee575e + ec8e31f commit 22c4b47

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ limitations under the License.
4343
<activity
4444
android:name=".policy.locktask.KioskModeActivity"
4545
android:label="@string/kiosk_mode"
46-
android:launchMode="singleInstance">
46+
android:launchMode="singleInstance"
47+
android:enabled="false">
4748
<intent-filter>
4849
<action android:name="android.intent.action.MAIN"/>
4950
<category android:name="android.intent.category.HOME"/>

app/src/main/java/com/google/android/testdpc/policy/PolicyManagementFragment.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1600,6 +1600,10 @@ private void startKioskMode(String[] lockTaskArray) {
16001600
Intent launchIntent = new Intent(getActivity(), KioskModeActivity.class);
16011601
launchIntent.putExtra(KioskModeActivity.LOCKED_APP_PACKAGE_LIST, lockTaskArray);
16021602
launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
1603+
getActivity().getPackageManager().setComponentEnabledSetting(
1604+
new ComponentName(mPackageName, KioskModeActivity.class.getName()),
1605+
PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
1606+
PackageManager.DONT_KILL_APP);
16031607
startActivity(launchIntent);
16041608
getActivity().finish();
16051609
}

app/src/main/java/com/google/android/testdpc/policy/locktask/KioskModeActivity.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,11 @@ protected void onCreate(Bundle savedInstanceState) {
9393
for (String pkg : packageArray) {
9494
mKioskPackages.add(pkg);
9595
}
96+
mKioskPackages.remove(getPackageName());
97+
mKioskPackages.add(getPackageName());
9698
setDefaultKioskPolicies(true);
9799
} else {
100+
// after a reboot there is no need to set the policies again
98101
SharedPreferences sharedPreferences = getSharedPreferences(KIOSK_PREFERENCE_FILE,
99102
MODE_PRIVATE);
100103
mKioskPackages = new ArrayList<>(sharedPreferences.getStringSet(KIOSK_APPS_KEY,
@@ -135,6 +138,10 @@ protected void onStart() {
135138
public void onBackdoorClicked() {
136139
stopLockTask();
137140
setDefaultKioskPolicies(false);
141+
mPackageManager.setComponentEnabledSetting(
142+
new ComponentName(getPackageName(), getClass().getName()),
143+
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
144+
PackageManager.DONT_KILL_APP);
138145
finish();
139146
}
140147

0 commit comments

Comments
 (0)