Per vpn setting change in VPN list
- Show admin support details when user taps on a cell and user restriction is on
- Show always-on-vpn active status in preference summary
- User can still open non-configurable per-VPN info page even when user restriction is applied
- Rename ConfigPreference to LegacyVpnPreference
- Move summary String handling into ManageablePreference
- ManageablePreference inherits GearPreference to reuse the code
- Don't show disconnect dialog when always-on is enabled
BUG=26950700
Change-Id: I37b087879cf3b674df528e7787d7bb1eead3310f
diff --git a/src/com/android/settings/vpn2/AppPreference.java b/src/com/android/settings/vpn2/AppPreference.java
index af4192e..e3649a8 100644
--- a/src/com/android/settings/vpn2/AppPreference.java
+++ b/src/com/android/settings/vpn2/AppPreference.java
@@ -22,11 +22,9 @@
import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.support.v7.preference.Preference;
-import android.view.View.OnClickListener;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
-import com.android.settings.R;
/**
* {@link android.support.v7.preference.Preference} containing information about a VPN
@@ -39,10 +37,15 @@
private int mState = STATE_DISCONNECTED;
private String mPackageName;
private String mName;
- private int mUserId = UserHandle.USER_NULL;
- public AppPreference(Context context, OnClickListener onManage) {
- super(context, null /* attrs */, onManage);
+ public AppPreference(Context context) {
+ super(context, null /* attrs */);
+ }
+
+ @Override
+ public void setUserId(int userId) {
+ super.setUserId(userId);
+ update();
}
public PackageInfo getPackageInfo() {
@@ -67,15 +70,6 @@
update();
}
- public int getUserId() {
- return mUserId;
- }
-
- public void setUserId(int userId) {
- mUserId = userId;
- update();
- }
-
public int getState() {
return mState;
}
@@ -90,8 +84,7 @@
return;
}
- final String[] states = getContext().getResources().getStringArray(R.array.vpn_states);
- setSummary(mState != STATE_DISCONNECTED ? states[mState] : "");
+ setSummary(getSummaryString(mState == STATE_DISCONNECTED ? STATE_NONE : mState));
mName = mPackageName;
Drawable icon = null;
@@ -140,9 +133,9 @@
result = mUserId - another.mUserId;
}
return result;
- } else if (preference instanceof ConfigPreference) {
+ } else if (preference instanceof LegacyVpnPreference) {
// Use comparator from ConfigPreference
- ConfigPreference another = (ConfigPreference) preference;
+ LegacyVpnPreference another = (LegacyVpnPreference) preference;
return -another.compareTo(this);
} else {
return super.compareTo(preference);