summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/settings/OwnerInfoSettings.java22
-rw-r--r--src/com/android/settings/Settings.java4
-rw-r--r--src/com/android/settings/users/AppRestrictionsFragment.java21
-rw-r--r--src/com/android/settings/users/RestrictionUtils.java14
-rwxr-xr-xsrc/com/android/settings/wfd/WifiDisplaySettings.java6
5 files changed, 44 insertions, 23 deletions
diff --git a/src/com/android/settings/OwnerInfoSettings.java b/src/com/android/settings/OwnerInfoSettings.java
index 2d44921..0a83f1a 100644
--- a/src/com/android/settings/OwnerInfoSettings.java
+++ b/src/com/android/settings/OwnerInfoSettings.java
@@ -20,7 +20,6 @@ import android.app.Fragment;
import android.content.ContentResolver;
import android.os.Bundle;
import android.os.UserHandle;
-import android.provider.Settings;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -29,36 +28,40 @@ import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.CompoundButton.OnCheckedChangeListener;
+import com.android.internal.widget.LockPatternUtils;
+
public class OwnerInfoSettings extends Fragment {
private View mView;
private CheckBox mCheckbox;
private EditText mEditText;
+ private int mUserId;
+ private LockPatternUtils mLockPatternUtils;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.ownerinfo, container, false);
+ mUserId = UserHandle.myUserId();
+ mLockPatternUtils = new LockPatternUtils(getActivity());
initView(mView);
return mView;
}
private void initView(View view) {
final ContentResolver res = getActivity().getContentResolver();
- String info = Settings.Secure.getString(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO);
- int enabled = Settings.Secure.getInt(res,
- Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED, 1);
+ String info = mLockPatternUtils.getOwnerInfo(mUserId);
+ boolean enabled = mLockPatternUtils.isOwnerInfoEnabled();
mCheckbox = (CheckBox) mView.findViewById(R.id.show_owner_info_on_lockscreen_checkbox);
mEditText = (EditText) mView.findViewById(R.id.owner_info_edit_text);
mEditText.setText(info);
- mEditText.setEnabled(enabled != 0);
- mCheckbox.setChecked(enabled != 0);
+ mEditText.setEnabled(enabled);
+ mCheckbox.setChecked(enabled);
if (UserHandle.myUserId() != UserHandle.USER_OWNER) {
mCheckbox.setText(R.string.show_user_info_on_lockscreen_label);
}
mCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- Settings.Secure.putInt(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO_ENABLED,
- isChecked ? 1 : 0);
+ mLockPatternUtils.setOwnerInfoEnabled(isChecked);
mEditText.setEnabled(isChecked); // disable text field if not enabled
}
});
@@ -71,9 +74,8 @@ public class OwnerInfoSettings extends Fragment {
}
void saveToDb() {
- ContentResolver res = getActivity().getContentResolver();
String info = mEditText.getText().toString();
- Settings.Secure.putString(res, Settings.Secure.LOCK_SCREEN_OWNER_INFO, info);
+ mLockPatternUtils.setOwnerInfo(info, mUserId);
}
}
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index ed3685d..4cc4e40 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -134,16 +134,12 @@ public class Settings extends PreferenceActivity
private Header mLastHeader;
private boolean mListeningToAccountUpdates;
- private List<RestrictionEntry> mAppRestrictions;
-
@Override
protected void onCreate(Bundle savedInstanceState) {
if (getIntent().hasExtra(EXTRA_UI_OPTIONS)) {
getWindow().setUiOptions(getIntent().getIntExtra(EXTRA_UI_OPTIONS, 0));
}
- mAppRestrictions = getApplicationRestrictions();
-
mAuthenticatorHelper = new AuthenticatorHelper();
mAuthenticatorHelper.updateAuthDescriptions(this);
mAuthenticatorHelper.onAccountsUpdated(this, null);
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index 8b93417..7d4af4f 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -562,7 +562,8 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
if (packageName.equals(getActivity().getPackageName())) {
RestrictionUtils.setRestrictions(getActivity(), restrictions, mUser);
} else {
- mUserManager.setApplicationRestrictions(packageName, restrictions,
+ mUserManager.setApplicationRestrictions(packageName,
+ RestrictionUtils.restrictionsToBundle(restrictions),
mUser);
}
break;
@@ -594,12 +595,11 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
getActivity(), mUser);
onRestrictionsReceived(preference, packageName, restrictions);
} else {
- List<RestrictionEntry> oldEntries =
+ Bundle oldEntries =
mUserManager.getApplicationRestrictions(packageName, mUser);
Intent intent = new Intent(Intent.ACTION_GET_RESTRICTION_ENTRIES);
intent.setPackage(packageName);
- intent.putParcelableArrayListExtra(Intent.EXTRA_RESTRICTIONS,
- new ArrayList<RestrictionEntry>(oldEntries));
+ intent.putExtra(Intent.EXTRA_RESTRICTIONS_BUNDLE, oldEntries);
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
getActivity().sendOrderedBroadcast(intent, null,
new RestrictionsResultReceiver(packageName, preference),
@@ -626,14 +626,16 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
public void onReceive(Context context, Intent intent) {
Bundle results = getResultExtras(true);
final ArrayList<RestrictionEntry> restrictions = results.getParcelableArrayList(
- Intent.EXTRA_RESTRICTIONS);
+ Intent.EXTRA_RESTRICTIONS_LIST);
Intent restrictionsIntent = (Intent) results.getParcelable(CUSTOM_RESTRICTIONS_INTENT);
if (restrictions != null && restrictionsIntent == null) {
onRestrictionsReceived(preference, packageName, restrictions);
- mUserManager.setApplicationRestrictions(packageName, restrictions, mUser);
+ mUserManager.setApplicationRestrictions(packageName,
+ RestrictionUtils.restrictionsToBundle(restrictions), mUser);
} else if (restrictionsIntent != null) {
final Intent customIntent = restrictionsIntent;
- customIntent.putParcelableArrayListExtra(Intent.EXTRA_RESTRICTIONS, restrictions);
+ customIntent.putExtra(Intent.EXTRA_RESTRICTIONS_BUNDLE,
+ RestrictionUtils.restrictionsToBundle(restrictions));
Preference p = new Preference(context);
p.setTitle(R.string.app_restrictions_custom_label);
p.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@@ -741,12 +743,13 @@ public class AppRestrictionsFragment extends SettingsPreferenceFragment implemen
if (resultCode == Activity.RESULT_OK) {
ArrayList<RestrictionEntry> list =
- data.getParcelableArrayListExtra(Intent.EXTRA_RESTRICTIONS);
+ data.getParcelableArrayListExtra(Intent.EXTRA_RESTRICTIONS_LIST);
if (list != null) {
// If there's a valid result, persist it to the user manager.
String packageName = pref.getKey().substring(PKG_PREFIX.length());
pref.setRestrictions(list);
- mUserManager.setApplicationRestrictions(packageName, list, mUser);
+ mUserManager.setApplicationRestrictions(packageName,
+ RestrictionUtils.restrictionsToBundle(list), mUser);
}
toggleAppPanel(pref);
}
diff --git a/src/com/android/settings/users/RestrictionUtils.java b/src/com/android/settings/users/RestrictionUtils.java
index 241395b..be62b3b 100644
--- a/src/com/android/settings/users/RestrictionUtils.java
+++ b/src/com/android/settings/users/RestrictionUtils.java
@@ -90,4 +90,18 @@ public class RestrictionUtils {
}
um.setUserRestrictions(userRestrictions, user);
}
+
+ public static Bundle restrictionsToBundle(ArrayList<RestrictionEntry> entries) {
+ final Bundle bundle = new Bundle();
+ for (RestrictionEntry entry : entries) {
+ if (entry.getType() == RestrictionEntry.TYPE_BOOLEAN) {
+ bundle.putBoolean(entry.getKey(), entry.getSelectedState());
+ } else if (entry.getType() == RestrictionEntry.TYPE_MULTI_SELECT) {
+ bundle.putStringArray(entry.getKey(), entry.getAllSelectedStrings());
+ } else {
+ bundle.putString(entry.getKey(), entry.getSelectedString());
+ }
+ }
+ return bundle;
+ }
}
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
index 60dd119..5b732d6 100755
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -117,6 +117,12 @@ public final class WifiDisplaySettings extends SettingsPreferenceFragment {
}
@Override
+ public void onDestroyView() {
+ getActivity().getActionBar().setCustomView(null);
+ super.onDestroyView();
+ }
+
+ @Override
public void onResume() {
super.onResume();