Merge "[Settings] Move display of VPN version into summary text" into qt-dev
This commit is contained in:
@@ -35,11 +35,13 @@ import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.VisibleForTesting;
|
||||
import androidx.appcompat.app.AlertDialog;
|
||||
import androidx.fragment.app.DialogFragment;
|
||||
import androidx.preference.Preference;
|
||||
import androidx.preference.PreferenceViewHolder;
|
||||
|
||||
import com.android.internal.net.VpnConfig;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
@@ -76,7 +78,6 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
private String mVpnLabel;
|
||||
|
||||
// UI preference
|
||||
private Preference mPreferenceVersion;
|
||||
private RestrictedSwitchPreference mPreferenceAlwaysOn;
|
||||
private RestrictedSwitchPreference mPreferenceLockdown;
|
||||
private RestrictedPreference mPreferenceForget;
|
||||
@@ -122,7 +123,6 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
mConnectivityService = IConnectivityManager.Stub
|
||||
.asInterface(ServiceManager.getService(Context.CONNECTIVITY_SERVICE));
|
||||
|
||||
mPreferenceVersion = findPreference(KEY_VERSION);
|
||||
mPreferenceAlwaysOn = (RestrictedSwitchPreference) findPreference(KEY_ALWAYS_ON_VPN);
|
||||
mPreferenceLockdown = (RestrictedSwitchPreference) findPreference(KEY_LOCKDOWN_VPN);
|
||||
mPreferenceForget = (RestrictedPreference) findPreference(KEY_FORGET_VPN);
|
||||
@@ -138,9 +138,52 @@ public class AppManagementFragment extends SettingsPreferenceFragment
|
||||
|
||||
boolean isInfoLoaded = loadInfo();
|
||||
if (isInfoLoaded) {
|
||||
mPreferenceVersion.setTitle(
|
||||
getPrefContext().getString(R.string.vpn_version, mPackageInfo.versionName));
|
||||
updateUI();
|
||||
|
||||
Preference version = getPreferenceScreen().findPreference(KEY_VERSION);
|
||||
if (version != null) {
|
||||
// Version field has been added.
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create version field at runtime, and set max height on the display area.
|
||||
*
|
||||
* When long length of text given within version field, a large text area
|
||||
* might be created and inconvenient to the user (User need to scroll
|
||||
* for a long time in order to get to the Preferences after this field.)
|
||||
*/
|
||||
version = new Preference(getPrefContext()) {
|
||||
@Override
|
||||
public void onBindViewHolder(PreferenceViewHolder holder) {
|
||||
super.onBindViewHolder(holder);
|
||||
|
||||
TextView titleView =
|
||||
(TextView) holder.findViewById(android.R.id.title);
|
||||
if (titleView != null) {
|
||||
titleView.setTextAppearance(R.style.vpn_app_management_version_title);
|
||||
}
|
||||
|
||||
TextView summaryView =
|
||||
(TextView) holder.findViewById(android.R.id.summary);
|
||||
if (summaryView != null) {
|
||||
summaryView.setTextAppearance(R.style.vpn_app_management_version_summary);
|
||||
|
||||
// Set max height in summary area.
|
||||
int versionMaxHeight = getListView().getHeight();
|
||||
summaryView.setMaxHeight(versionMaxHeight);
|
||||
summaryView.setVerticalScrollBarEnabled(false);
|
||||
summaryView.setHorizontallyScrolling(false);
|
||||
}
|
||||
}
|
||||
};
|
||||
version.setOrder(0); // Set order to 0 in order to be placed
|
||||
// in front of other Preference(s).
|
||||
version.setKey(KEY_VERSION); // Set key to avoid from creating multi instance.
|
||||
version.setTitle(R.string.vpn_version);
|
||||
version.setSummary(mPackageInfo.versionName);
|
||||
version.setSelectable(false);
|
||||
getPreferenceScreen().addPreference(version);
|
||||
} else {
|
||||
finish();
|
||||
}
|
||||
|
Reference in New Issue
Block a user