diff --git a/res/layout/screen_pinning_instructions.xml b/res/layout/screen_pinning_instructions.xml deleted file mode 100644 index fea5ed8fe0a..00000000000 --- a/res/layout/screen_pinning_instructions.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - diff --git a/res/values/dimens.xml b/res/values/dimens.xml index f97da1f7d76..242b690bb9d 100755 --- a/res/values/dimens.xml +++ b/res/values/dimens.xml @@ -158,9 +158,6 @@ 354dip - - 40dp - 8dip @@ -329,10 +326,6 @@ 32dp 12dp - - 64dp - 64dp - 8dp 12dp diff --git a/res/xml/screen_pinning_settings.xml b/res/xml/screen_pinning_settings.xml index f27e4aa1431..7ff7f1de34b 100644 --- a/res/xml/screen_pinning_settings.xml +++ b/res/xml/screen_pinning_settings.xml @@ -16,6 +16,7 @@ @@ -23,4 +24,10 @@ android:key="use_screen_lock" android:title="@string/screen_pinning_unlock_none" /> + + diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java index 849db406975..aa3e86201a3 100644 --- a/src/com/android/settings/security/ScreenPinningSettings.java +++ b/src/com/android/settings/security/ScreenPinningSettings.java @@ -23,9 +23,6 @@ import android.os.Bundle; import android.os.UserHandle; import android.provider.SearchIndexableResource; import android.provider.Settings; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; import android.widget.Switch; import androidx.preference.Preference; @@ -41,6 +38,7 @@ import com.android.settings.password.ChooseLockGeneric; import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.widget.SwitchBar; import com.android.settingslib.search.SearchIndexable; +import com.android.settingslib.widget.FooterPreference; import java.util.Arrays; import java.util.List; @@ -52,11 +50,13 @@ import java.util.List; public class ScreenPinningSettings extends SettingsPreferenceFragment implements SwitchBar.OnSwitchChangeListener { - private static final CharSequence KEY_USE_SCREEN_LOCK = "use_screen_lock"; + private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock"; + private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer"; private static final int CHANGE_LOCK_METHOD_REQUEST = 43; private SwitchBar mSwitchBar; private SwitchPreference mUseScreenLock; + private FooterPreference mFooterPreference; private LockPatternUtils mLockPatternUtils; @Override @@ -77,6 +77,13 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment mSwitchBar.addOnSwitchChangeListener(this); mSwitchBar.show(); mSwitchBar.setChecked(isLockToAppEnabled(getActivity())); + + addPreferencesFromResource(R.xml.screen_pinning_settings); + + final PreferenceScreen root = getPreferenceScreen(); + mUseScreenLock = root.findPreference(KEY_USE_SCREEN_LOCK); + mFooterPreference = root.findPreference(KEY_FOOTER); + updateDisplay(); } @Override @@ -84,16 +91,6 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment return R.string.help_url_screen_pinning; } - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - ViewGroup parent = (ViewGroup) view.findViewById(android.R.id.list_container); - View emptyView = LayoutInflater.from(getContext()) - .inflate(R.layout.screen_pinning_instructions, parent, false); - parent.addView(emptyView); - setEmptyView(emptyView); - } - @Override public void onDestroyView() { super.onDestroyView(); @@ -192,16 +189,10 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment updateDisplay(); } - public void updateDisplay() { - PreferenceScreen root = getPreferenceScreen(); - if (root != null) { - root.removeAll(); - } + private void updateDisplay() { if (isLockToAppEnabled(getActivity())) { - addPreferencesFromResource(R.xml.screen_pinning_settings); - root = getPreferenceScreen(); - - mUseScreenLock = (SwitchPreference) root.findPreference(KEY_USE_SCREEN_LOCK); + mFooterPreference.setVisible(false); + mUseScreenLock.setVisible(true); mUseScreenLock.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { @@ -210,6 +201,9 @@ public class ScreenPinningSettings extends SettingsPreferenceFragment }); mUseScreenLock.setChecked(isScreenLockUsed()); mUseScreenLock.setTitle(getCurrentSecurityTitle()); + } else { + mFooterPreference.setVisible(true); + mUseScreenLock.setVisible(false); } }