Merge "Enable the switch in TrustedCredentialsSettings"
This commit is contained in:
@@ -21,14 +21,15 @@
|
|||||||
android:background="?android:attr/selectableItemBackground"
|
android:background="?android:attr/selectableItemBackground"
|
||||||
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
android:paddingStart="?android:attr/listPreferredItemPaddingStart"
|
||||||
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
|
||||||
android:paddingTop="15dip"
|
android:descendantFocusability="blocksDescendants"
|
||||||
android:paddingBottom="15dip"
|
|
||||||
android:orientation="horizontal">
|
android:orientation="horizontal">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
|
android:paddingTop="15dip"
|
||||||
|
android:paddingBottom="15dip"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
@@ -53,8 +54,7 @@
|
|||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:visibility="invisible"
|
android:visibility="invisible"
|
||||||
android:clickable="false"
|
android:padding="8dp"
|
||||||
android:focusable="false"
|
|
||||||
android:layout_weight="0" />
|
android:layout_weight="0" />
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
@@ -138,7 +138,7 @@ class TrustedCredentialsDialogBuilder extends AlertDialog.Builder {
|
|||||||
onClickOk();
|
onClickOk();
|
||||||
}
|
}
|
||||||
} else if (view == mNegativeButton) {
|
} else if (view == mNegativeButton) {
|
||||||
onClickRemove();
|
onClickEnableOrDisable();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -155,21 +155,26 @@ class TrustedCredentialsDialogBuilder extends AlertDialog.Builder {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onClickRemove() {
|
private void onClickEnableOrDisable() {
|
||||||
final CertHolder certHolder = getCurrentCertInfo();
|
final CertHolder certHolder = getCurrentCertInfo();
|
||||||
new AlertDialog.Builder(mActivity)
|
DialogInterface.OnClickListener onConfirm = new DialogInterface.OnClickListener() {
|
||||||
.setMessage(getButtonConfirmation(certHolder))
|
|
||||||
.setPositiveButton(android.R.string.yes,
|
|
||||||
new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface dialog, int id) {
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
mDelegate.removeOrInstallCert(certHolder);
|
mDelegate.removeOrInstallCert(certHolder);
|
||||||
dialog.dismiss();
|
|
||||||
nextOrDismiss();
|
nextOrDismiss();
|
||||||
}
|
}
|
||||||
})
|
};
|
||||||
|
if (certHolder.isSystemCert()) {
|
||||||
|
// Removing system certs is reversible, so skip confirmation.
|
||||||
|
onConfirm.onClick(null, -1);
|
||||||
|
} else {
|
||||||
|
new AlertDialog.Builder(mActivity)
|
||||||
|
.setMessage(R.string.trusted_credentials_remove_confirmation)
|
||||||
|
.setPositiveButton(android.R.string.yes, onConfirm)
|
||||||
.setNegativeButton(android.R.string.no, null)
|
.setNegativeButton(android.R.string.no, null)
|
||||||
.show();
|
.show();
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void onCredentialConfirmed(int userId) {
|
private void onCredentialConfirmed(int userId) {
|
||||||
@@ -314,13 +319,6 @@ class TrustedCredentialsDialogBuilder extends AlertDialog.Builder {
|
|||||||
return certLayout;
|
return certLayout;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int getButtonConfirmation(CertHolder certHolder) {
|
|
||||||
return certHolder.isSystemCert() ? ( certHolder.isDeleted()
|
|
||||||
? R.string.trusted_credentials_enable_confirmation
|
|
||||||
: R.string.trusted_credentials_disable_confirmation )
|
|
||||||
: R.string.trusted_credentials_remove_confirmation;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static int getButtonLabel(CertHolder certHolder) {
|
private static int getButtonLabel(CertHolder certHolder) {
|
||||||
return certHolder.isSystemCert() ? ( certHolder.isDeleted()
|
return certHolder.isSystemCert() ? ( certHolder.isDeleted()
|
||||||
? R.string.trusted_credentials_enable_label
|
? R.string.trusted_credentials_enable_label
|
||||||
|
@@ -318,7 +318,8 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment
|
|||||||
* whereas children correspond to certificates.
|
* whereas children correspond to certificates.
|
||||||
*/
|
*/
|
||||||
private class GroupAdapter extends BaseExpandableListAdapter implements
|
private class GroupAdapter extends BaseExpandableListAdapter implements
|
||||||
ExpandableListView.OnGroupClickListener, ExpandableListView.OnChildClickListener {
|
ExpandableListView.OnGroupClickListener, ExpandableListView.OnChildClickListener,
|
||||||
|
View.OnClickListener {
|
||||||
private final AdapterData mData;
|
private final AdapterData mData;
|
||||||
|
|
||||||
private GroupAdapter(Tab tab) {
|
private GroupAdapter(Tab tab) {
|
||||||
@@ -402,6 +403,16 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the switch on a system certificate is clicked. This will toggle whether it
|
||||||
|
* is trusted as a credential.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
CertHolder holder = (CertHolder) view.getTag();
|
||||||
|
removeOrInstallCert(holder);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onGroupClick(ExpandableListView expandableListView, View view,
|
public boolean onGroupClick(ExpandableListView expandableListView, View view,
|
||||||
int groupPosition, long id) {
|
int groupPosition, long id) {
|
||||||
@@ -459,16 +470,17 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment
|
|||||||
ViewGroup parent) {
|
ViewGroup parent) {
|
||||||
ViewHolder holder;
|
ViewHolder holder;
|
||||||
if (convertView == null) {
|
if (convertView == null) {
|
||||||
|
holder = new ViewHolder();
|
||||||
LayoutInflater inflater = LayoutInflater.from(getActivity());
|
LayoutInflater inflater = LayoutInflater.from(getActivity());
|
||||||
convertView = inflater.inflate(R.layout.trusted_credential, parent, false);
|
convertView = inflater.inflate(R.layout.trusted_credential, parent, false);
|
||||||
holder = new ViewHolder();
|
convertView.setTag(holder);
|
||||||
holder.mSubjectPrimaryView = (TextView)
|
holder.mSubjectPrimaryView = (TextView)
|
||||||
convertView.findViewById(R.id.trusted_credential_subject_primary);
|
convertView.findViewById(R.id.trusted_credential_subject_primary);
|
||||||
holder.mSubjectSecondaryView = (TextView)
|
holder.mSubjectSecondaryView = (TextView)
|
||||||
convertView.findViewById(R.id.trusted_credential_subject_secondary);
|
convertView.findViewById(R.id.trusted_credential_subject_secondary);
|
||||||
holder.mSwitch = (Switch) convertView.findViewById(
|
holder.mSwitch = (Switch) convertView.findViewById(
|
||||||
R.id.trusted_credential_status);
|
R.id.trusted_credential_status);
|
||||||
convertView.setTag(holder);
|
holder.mSwitch.setOnClickListener(this);
|
||||||
} else {
|
} else {
|
||||||
holder = (ViewHolder) convertView.getTag();
|
holder = (ViewHolder) convertView.getTag();
|
||||||
}
|
}
|
||||||
@@ -480,6 +492,7 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment
|
|||||||
UserManager.DISALLOW_CONFIG_CREDENTIALS,
|
UserManager.DISALLOW_CONFIG_CREDENTIALS,
|
||||||
new UserHandle(certHolder.mProfileId)));
|
new UserHandle(certHolder.mProfileId)));
|
||||||
holder.mSwitch.setVisibility(View.VISIBLE);
|
holder.mSwitch.setVisibility(View.VISIBLE);
|
||||||
|
holder.mSwitch.setTag(certHolder);
|
||||||
}
|
}
|
||||||
return convertView;
|
return convertView;
|
||||||
}
|
}
|
||||||
@@ -576,6 +589,7 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment
|
|||||||
mListView = (ListView) mContainerView.findViewById(R.id.cert_list);
|
mListView = (ListView) mContainerView.findViewById(R.id.cert_list);
|
||||||
mListView.setAdapter(this);
|
mListView.setAdapter(this);
|
||||||
mListView.setOnItemClickListener(this);
|
mListView.setOnItemClickListener(this);
|
||||||
|
mListView.setItemsCanFocus(true);
|
||||||
|
|
||||||
mHeaderView = (ViewGroup) mContainerView.findViewById(R.id.header_view);
|
mHeaderView = (ViewGroup) mContainerView.findViewById(R.id.header_view);
|
||||||
mHeaderView.setOnClickListener(this);
|
mHeaderView.setOnClickListener(this);
|
||||||
|
Reference in New Issue
Block a user