Merge "Whitelist fragments appropriate for an activity"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a7fd2a5d66
@@ -823,7 +823,6 @@
|
|||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
<action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
|
<action android:name="android.settings.LOCATION_SOURCE_SETTINGS" />
|
||||||
<action android:name="android.credentials.UNLOCK" />
|
|
||||||
<category android:name="android.intent.category.DEFAULT" />
|
<category android:name="android.intent.category.DEFAULT" />
|
||||||
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
<category android:name="android.intent.category.VOICE_LAUNCH" />
|
||||||
<category android:name="com.android.settings.SHORTCUT" />
|
<category android:name="com.android.settings.SHORTCUT" />
|
||||||
|
@@ -17,6 +17,7 @@
|
|||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.Fragment;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -35,6 +36,7 @@ import android.view.ViewGroup;
|
|||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
|
|
||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
|
import com.android.settings.ConfirmLockPattern.ConfirmLockPatternFragment;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -50,6 +52,12 @@ public class ChooseLockGeneric extends PreferenceActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (ChooseLockGenericFragment.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static class ChooseLockGenericFragment extends SettingsPreferenceFragment {
|
public static class ChooseLockGenericFragment extends SettingsPreferenceFragment {
|
||||||
private static final int MIN_PASSWORD_LENGTH = 4;
|
private static final int MIN_PASSWORD_LENGTH = 4;
|
||||||
private static final String KEY_UNLOCK_BACKUP_INFO = "unlock_backup_info";
|
private static final String KEY_UNLOCK_BACKUP_INFO = "unlock_backup_info";
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings;
|
|||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.internal.widget.PasswordEntryKeyboardHelper;
|
import com.android.internal.widget.PasswordEntryKeyboardHelper;
|
||||||
import com.android.internal.widget.PasswordEntryKeyboardView;
|
import com.android.internal.widget.PasswordEntryKeyboardView;
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
@@ -64,6 +65,12 @@ public class ChooseLockPassword extends PreferenceActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (ChooseLockPasswordFragment.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
// TODO: Fix on phones
|
// TODO: Fix on phones
|
||||||
|
@@ -22,6 +22,7 @@ import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
|
|||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.internal.widget.LockPatternView;
|
import com.android.internal.widget.LockPatternView;
|
||||||
import com.android.internal.widget.LockPatternView.Cell;
|
import com.android.internal.widget.LockPatternView.Cell;
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
import static com.android.internal.widget.LockPatternView.DisplayMode;
|
import static com.android.internal.widget.LockPatternView.DisplayMode;
|
||||||
|
|
||||||
@@ -68,6 +69,12 @@ public class ChooseLockPattern extends PreferenceActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (ChooseLockPatternFragment.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
// requestWindowFeature(Window.FEATURE_NO_TITLE);
|
// requestWindowFeature(Window.FEATURE_NO_TITLE);
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings;
|
|||||||
import com.android.internal.widget.LockPatternUtils;
|
import com.android.internal.widget.LockPatternUtils;
|
||||||
import com.android.internal.widget.PasswordEntryKeyboardHelper;
|
import com.android.internal.widget.PasswordEntryKeyboardHelper;
|
||||||
import com.android.internal.widget.PasswordEntryKeyboardView;
|
import com.android.internal.widget.PasswordEntryKeyboardView;
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
@@ -51,6 +52,12 @@ public class ConfirmLockPassword extends PreferenceActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (ConfirmLockPasswordFragment.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
public void onCreate(Bundle savedInstanceState) {
|
||||||
// Disable IME on our window since we provide our own keyboard
|
// Disable IME on our window since we provide our own keyboard
|
||||||
|
@@ -76,6 +76,12 @@ public class ConfirmLockPattern extends PreferenceActivity {
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (ConfirmLockPatternFragment.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
public static class ConfirmLockPatternFragment extends Fragment {
|
public static class ConfirmLockPatternFragment extends Fragment {
|
||||||
|
|
||||||
// how long we wait to clear a wrong pattern
|
// how long we wait to clear a wrong pattern
|
||||||
|
@@ -19,6 +19,7 @@ package com.android.settings;
|
|||||||
import android.accounts.Account;
|
import android.accounts.Account;
|
||||||
import android.accounts.AccountManager;
|
import android.accounts.AccountManager;
|
||||||
import android.accounts.OnAccountsUpdateListener;
|
import android.accounts.OnAccountsUpdateListener;
|
||||||
|
import android.app.Fragment;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -53,13 +54,31 @@ import android.widget.Switch;
|
|||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.android.internal.util.ArrayUtils;
|
import com.android.internal.util.ArrayUtils;
|
||||||
|
import com.android.settings.accessibility.AccessibilitySettings;
|
||||||
import com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment;
|
import com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment;
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
import com.android.settings.ChooseLockPassword.ChooseLockPasswordFragment;
|
||||||
|
import com.android.settings.ChooseLockPattern.ChooseLockPatternFragment;
|
||||||
import com.android.settings.accounts.AccountSyncSettings;
|
import com.android.settings.accounts.AccountSyncSettings;
|
||||||
import com.android.settings.accounts.AuthenticatorHelper;
|
import com.android.settings.accounts.AuthenticatorHelper;
|
||||||
import com.android.settings.accounts.ManageAccountsSettings;
|
import com.android.settings.accounts.ManageAccountsSettings;
|
||||||
|
import com.android.settings.applications.AppOpsSummary;
|
||||||
|
import com.android.settings.applications.ManageApplications;
|
||||||
import com.android.settings.bluetooth.BluetoothEnabler;
|
import com.android.settings.bluetooth.BluetoothEnabler;
|
||||||
import com.android.settings.bluetooth.BluetoothSettings;
|
import com.android.settings.bluetooth.BluetoothSettings;
|
||||||
|
import com.android.settings.deviceinfo.Memory;
|
||||||
|
import com.android.settings.deviceinfo.UsbSettings;
|
||||||
|
import com.android.settings.fuelgauge.PowerUsageSummary;
|
||||||
|
import com.android.settings.inputmethod.InputMethodAndLanguageSettings;
|
||||||
|
import com.android.settings.inputmethod.SpellCheckersSettings;
|
||||||
|
import com.android.settings.inputmethod.UserDictionaryList;
|
||||||
|
import com.android.settings.nfc.AndroidBeam;
|
||||||
|
import com.android.settings.tts.TextToSpeechSettings;
|
||||||
|
import com.android.settings.users.AppRestrictionsFragment;
|
||||||
|
import com.android.settings.users.UserSettings;
|
||||||
|
import com.android.settings.vpn2.VpnSettings;
|
||||||
import com.android.settings.wfd.WifiDisplaySettings;
|
import com.android.settings.wfd.WifiDisplaySettings;
|
||||||
|
import com.android.settings.wifi.AdvancedWifiSettings;
|
||||||
import com.android.settings.wifi.WifiEnabler;
|
import com.android.settings.wifi.WifiEnabler;
|
||||||
import com.android.settings.wifi.WifiSettings;
|
import com.android.settings.wifi.WifiSettings;
|
||||||
import com.android.settings.wifi.p2p.WifiP2pSettings;
|
import com.android.settings.wifi.p2p.WifiP2pSettings;
|
||||||
@@ -267,6 +286,56 @@ public class Settings extends PreferenceActivity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static final String[] ENTRY_FRAGMENTS = {
|
||||||
|
WirelessSettings.class.getName(),
|
||||||
|
WifiSettings.class.getName(),
|
||||||
|
AdvancedWifiSettings.class.getName(),
|
||||||
|
BluetoothSettings.class.getName(),
|
||||||
|
TetherSettings.class.getName(),
|
||||||
|
WifiP2pSettings.class.getName(),
|
||||||
|
VpnSettings.class.getName(),
|
||||||
|
DateTimeSettings.class.getName(),
|
||||||
|
LocalePicker.class.getName(),
|
||||||
|
InputMethodAndLanguageSettings.class.getName(),
|
||||||
|
SpellCheckersSettings.class.getName(),
|
||||||
|
UserDictionaryList.class.getName(),
|
||||||
|
UserDictionarySettings.class.getName(),
|
||||||
|
SoundSettings.class.getName(),
|
||||||
|
DisplaySettings.class.getName(),
|
||||||
|
DeviceInfoSettings.class.getName(),
|
||||||
|
ManageApplications.class.getName(),
|
||||||
|
NotificationStation.class.getName(),
|
||||||
|
AppOpsSummary.class.getName(),
|
||||||
|
LocationSettings.class.getName(),
|
||||||
|
SecuritySettings.class.getName(),
|
||||||
|
PrivacySettings.class.getName(),
|
||||||
|
DeviceAdminSettings.class.getName(),
|
||||||
|
AccessibilitySettings.class.getName(),
|
||||||
|
TextToSpeechSettings.class.getName(),
|
||||||
|
Memory.class.getName(),
|
||||||
|
DevelopmentSettings.class.getName(),
|
||||||
|
UsbSettings.class.getName(),
|
||||||
|
AndroidBeam.class.getName(),
|
||||||
|
WifiDisplaySettings.class.getName(),
|
||||||
|
PowerUsageSummary.class.getName(),
|
||||||
|
AccountSyncSettings.class.getName(),
|
||||||
|
CryptKeeperSettings.class.getName(),
|
||||||
|
DataUsageSummary.class.getName(),
|
||||||
|
DreamSettings.class.getName(),
|
||||||
|
UserSettings.class.getName(),
|
||||||
|
NotificationAccessSettings.class.getName(),
|
||||||
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
// Almost all fragments are wrapped in this,
|
||||||
|
// except for a few that have their own activities.
|
||||||
|
for (int i = 0; i < ENTRY_FRAGMENTS.length; i++) {
|
||||||
|
if (ENTRY_FRAGMENTS[i].equals(fragmentName)) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void switchToHeaderLocal(Header header) {
|
private void switchToHeaderLocal(Header header) {
|
||||||
mInLocalHeaderSwitch = true;
|
mInLocalHeaderSwitch = true;
|
||||||
switchToHeader(header);
|
switchToHeader(header);
|
||||||
@@ -877,4 +946,5 @@ public class Settings extends PreferenceActivity
|
|||||||
public static class NotificationStationActivity extends Settings { /* empty */ }
|
public static class NotificationStationActivity extends Settings { /* empty */ }
|
||||||
public static class UserSettingsActivity extends Settings { /* empty */ }
|
public static class UserSettingsActivity extends Settings { /* empty */ }
|
||||||
public static class NotificationAccessSettingsActivity extends Settings { /* empty */ }
|
public static class NotificationAccessSettingsActivity extends Settings { /* empty */ }
|
||||||
|
public static class UsbSettingsActivity extends Settings { /* empty */ }
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,11 @@
|
|||||||
|
|
||||||
package com.android.settings;
|
package com.android.settings;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stub class for showing sub-settings; we can't use the main Settings class
|
* Stub class for showing sub-settings; we can't use the main Settings class
|
||||||
* since for our app it is a special singleTask class.
|
* since for our app it is a special singleTask class.
|
||||||
@@ -27,4 +32,10 @@ public class SubSettings extends Settings {
|
|||||||
finish();
|
finish();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
Log.d("SubSettings", "Launching fragment " + fragmentName);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -16,9 +16,12 @@
|
|||||||
|
|
||||||
package com.android.settings.accounts;
|
package com.android.settings.accounts;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Launcher activity for the SyncSettings fragment.
|
* Launcher activity for the SyncSettings fragment.
|
||||||
*
|
*
|
||||||
@@ -31,4 +34,10 @@ public class SyncSettingsActivity extends PreferenceActivity {
|
|||||||
modIntent.putExtra(EXTRA_NO_HEADERS, true);
|
modIntent.putExtra(EXTRA_NO_HEADERS, true);
|
||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (SyncSettings.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
@@ -1,9 +1,13 @@
|
|||||||
package com.android.settings.applications;
|
package com.android.settings.applications;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
public class InstalledAppDetailsTop extends PreferenceActivity {
|
public class InstalledAppDetailsTop extends PreferenceActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Intent getIntent() {
|
public Intent getIntent() {
|
||||||
Intent modIntent = new Intent(super.getIntent());
|
Intent modIntent = new Intent(super.getIntent());
|
||||||
@@ -11,4 +15,11 @@ public class InstalledAppDetailsTop extends PreferenceActivity {
|
|||||||
modIntent.putExtra(EXTRA_NO_HEADERS, true);
|
modIntent.putExtra(EXTRA_NO_HEADERS, true);
|
||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (InstalledAppDetails.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -15,9 +15,12 @@
|
|||||||
*/
|
*/
|
||||||
package com.android.settings.inputmethod;
|
package com.android.settings.inputmethod;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.preference.PreferenceActivity;
|
import android.preference.PreferenceActivity;
|
||||||
|
|
||||||
|
import com.android.settings.ChooseLockPassword.ChooseLockPasswordFragment;
|
||||||
|
|
||||||
public class InputMethodAndSubtypeEnablerActivity extends PreferenceActivity {
|
public class InputMethodAndSubtypeEnablerActivity extends PreferenceActivity {
|
||||||
@Override
|
@Override
|
||||||
public Intent getIntent() {
|
public Intent getIntent() {
|
||||||
@@ -28,4 +31,11 @@ public class InputMethodAndSubtypeEnablerActivity extends PreferenceActivity {
|
|||||||
}
|
}
|
||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (InputMethodAndSubtypeEnabler.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@
|
|||||||
package com.android.settings.wifi;
|
package com.android.settings.wifi;
|
||||||
|
|
||||||
import com.android.settings.ButtonBarHandler;
|
import com.android.settings.ButtonBarHandler;
|
||||||
|
import com.android.settings.ChooseLockGeneric.ChooseLockGenericFragment;
|
||||||
|
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
@@ -42,6 +43,12 @@ public class WifiPickerActivity extends PreferenceActivity implements ButtonBarH
|
|||||||
return modIntent;
|
return modIntent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isValidFragment(String fragmentName) {
|
||||||
|
if (WifiSettings.class.getName().equals(fragmentName)) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Almost dead copy of
|
* Almost dead copy of
|
||||||
* {@link PreferenceActivity#startWithFragment(String, Bundle, Fragment, int)}, except
|
* {@link PreferenceActivity#startWithFragment(String, Bundle, Fragment, int)}, except
|
||||||
|
Reference in New Issue
Block a user