Loading res/layout/trusted_credential_list_container.xml +4 −5 Original line number Diff line number Diff line Loading @@ -14,10 +14,9 @@ limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone"> android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/header_view" android:layout_width="fill_parent" Loading res/layout/trusted_credentials.xml +4 −29 Original line number Diff line number Diff line Loading @@ -54,20 +54,8 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <include android:id="@+id/system_personal_container" layout="@layout/trusted_credential_list_container"/> <include android:id="@+id/system_work_container" layout="@layout/trusted_credential_list_container"/> <ExpandableListView android:id="@+id/system_expandable_list" style="@style/TrustedCredentialsList" android:visibility="gone"> </ExpandableListView> android:visibility="gone" android:animateLayoutChanges="true"> </LinearLayout> </FrameLayout> Loading @@ -91,21 +79,8 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <include android:id="@+id/user_personal_container" layout="@layout/trusted_credential_list_container"/> <include android:id="@+id/user_work_container" layout="@layout/trusted_credential_list_container"/> <ExpandableListView android:id="@+id/user_expandable_list" style="@style/TrustedCredentialsList" android:visibility="gone"> </ExpandableListView> android:visibility="gone" android:animateLayoutChanges="true"> </LinearLayout> </FrameLayout> Loading res/values/styles.xml +2 −2 Original line number Diff line number Diff line Loading @@ -147,8 +147,8 @@ </style> <style name="TrustedCredentialsList"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> <item name="android:scrollbarStyle">outsideOverlay</item> </style> Loading src/com/android/settings/TrustedCredentialsSettings.java +42 −49 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.settings; import static android.widget.LinearLayout.LayoutParams.MATCH_PARENT; import static android.widget.LinearLayout.LayoutParams.WRAP_CONTENT; import android.animation.LayoutTransition; import android.annotation.UiThread; import android.app.Activity; import android.app.KeyguardManager; Loading Loading @@ -96,18 +100,12 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment R.string.trusted_credentials_system_tab, R.id.system_tab, R.id.system_progress, R.id.system_personal_container, R.id.system_work_container, R.id.system_expandable_list, R.id.system_content, true), USER("user", R.string.trusted_credentials_user_tab, R.id.user_tab, R.id.user_progress, R.id.user_personal_container, R.id.user_work_container, R.id.user_expandable_list, R.id.user_content, false); Loading @@ -115,21 +113,14 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment private final int mLabel; private final int mView; private final int mProgress; private final int mPersonalList; private final int mWorkList; private final int mExpandableList; private final int mContentView; private final boolean mSwitch; private Tab(String tag, int label, int view, int progress, int personalList, int workList, int expandableList, int contentView, boolean withSwitch) { private Tab(String tag, int label, int view, int progress, int contentView, boolean withSwitch) { mTag = tag; mLabel = label; mView = view; mProgress = progress; mPersonalList = personalList; mWorkList = workList; mExpandableList = expandableList; mContentView = contentView; mSwitch = withSwitch; } Loading Loading @@ -279,31 +270,31 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment .setContent(tab.mView); mTabHost.addTab(systemSpec); final int profilesSize = mUserManager.getUserProfiles().size(); final GroupAdapter groupAdapter = new GroupAdapter(tab); mGroupAdapters.add(groupAdapter); if (profilesSize == 1) { final ChildAdapter adapter = groupAdapter.getChildAdapter(0); adapter.setContainerViewId(tab.mPersonalList); adapter.prepare(); } else if (profilesSize == 2) { final int workIndex = groupAdapter.getUserInfoByGroup(1).isManagedProfile() ? 1 : 0; final int personalIndex = workIndex == 1 ? 0 : 1; final ChildAdapter personalAdapter = groupAdapter.getChildAdapter(personalIndex); personalAdapter.setContainerViewId(tab.mPersonalList); personalAdapter.showHeader(true); personalAdapter.prepare(); final ChildAdapter workAdapter = groupAdapter.getChildAdapter(workIndex); workAdapter.setContainerViewId(tab.mWorkList); workAdapter.showHeader(true); workAdapter.showDivider(true); workAdapter.prepare(); } else if (profilesSize >= 3) { groupAdapter.setExpandableListView( (ExpandableListView) mTabHost.findViewById(tab.mExpandableList)); final int profilesSize = groupAdapter.getGroupCount(); // Add a transition for non-visibility events like resizing the pane. final ViewGroup contentView = (ViewGroup) mTabHost.findViewById(tab.mContentView); contentView.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING); final LayoutInflater inflater = LayoutInflater.from(getActivity()); for (int i = 0; i < groupAdapter.getGroupCount(); i++) { final boolean isWork = groupAdapter.getUserInfoByGroup(i).isManagedProfile(); final ChildAdapter adapter = groupAdapter.getChildAdapter(i); final LinearLayout containerView = (LinearLayout) inflater .inflate(R.layout.trusted_credential_list_container, contentView, false); adapter.setContainerView(containerView); adapter.showHeader(profilesSize > 1); adapter.showDivider(isWork); adapter.setExpandIfAvailable(profilesSize <= 2 ? true : !isWork); if (isWork) { contentView.addView(containerView); } else { contentView.addView(containerView, 0); } } } Loading Loading @@ -504,10 +495,12 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment AdapterView.OnItemClickListener { private final int[] GROUP_EXPANDED_STATE_SET = {com.android.internal.R.attr.state_expanded}; private final int[] EMPTY_STATE_SET = {}; private final LinearLayout.LayoutParams HIDE_LAYOUT_PARAMS = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); private final LinearLayout.LayoutParams HIDE_CONTAINER_LAYOUT_PARAMS = new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT, 0f); private final LinearLayout.LayoutParams HIDE_LIST_LAYOUT_PARAMS = new LinearLayout.LayoutParams(MATCH_PARENT, 0); private final LinearLayout.LayoutParams SHOW_LAYOUT_PARAMS = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1f); LinearLayout.LayoutParams.MATCH_PARENT, MATCH_PARENT, 1f); private final GroupAdapter mParent; private final int mGroupPosition; /* Loading Loading @@ -577,9 +570,8 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment showCertDialog(getItem(pos)); } public void setContainerViewId(int viewId) { mContainerView = (LinearLayout) mTabHost.findViewById(viewId); mContainerView.setVisibility(View.VISIBLE); public void setContainerView(LinearLayout containerView) { mContainerView = containerView; mListView = (ListView) mContainerView.findViewById(R.id.cert_list); mListView.setAdapter(this); Loading Loading @@ -607,9 +599,9 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment dividerView.setVisibility(showDivider ? View.VISIBLE : View.GONE ); } public void prepare() { mIsListExpanded = mParent.checkGroupExpandableAndStartWarningActivity(mGroupPosition, false /* startActivity */); public void setExpandIfAvailable(boolean expanded) { mIsListExpanded = expanded && mParent.checkGroupExpandableAndStartWarningActivity( mGroupPosition, false /* startActivity */); refreshViews(); } Loading @@ -620,9 +612,10 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment private void refreshViews() { mIndicatorView.setImageState(mIsListExpanded ? GROUP_EXPANDED_STATE_SET : EMPTY_STATE_SET, false); mListView.setVisibility(mIsListExpanded ? View.VISIBLE : View.GONE); mListView.setLayoutParams(mIsListExpanded ? SHOW_LAYOUT_PARAMS : HIDE_LIST_LAYOUT_PARAMS); mContainerView.setLayoutParams(mIsListExpanded ? SHOW_LAYOUT_PARAMS : HIDE_LAYOUT_PARAMS); : HIDE_CONTAINER_LAYOUT_PARAMS); } // Get group indicator from styles of ExpandableListView Loading Loading
res/layout/trusted_credential_list_container.xml +4 −5 Original line number Diff line number Diff line Loading @@ -14,10 +14,9 @@ limitations under the License. --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:visibility="gone"> android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/header_view" android:layout_width="fill_parent" Loading
res/layout/trusted_credentials.xml +4 −29 Original line number Diff line number Diff line Loading @@ -54,20 +54,8 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <include android:id="@+id/system_personal_container" layout="@layout/trusted_credential_list_container"/> <include android:id="@+id/system_work_container" layout="@layout/trusted_credential_list_container"/> <ExpandableListView android:id="@+id/system_expandable_list" style="@style/TrustedCredentialsList" android:visibility="gone"> </ExpandableListView> android:visibility="gone" android:animateLayoutChanges="true"> </LinearLayout> </FrameLayout> Loading @@ -91,21 +79,8 @@ android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:visibility="gone"> <include android:id="@+id/user_personal_container" layout="@layout/trusted_credential_list_container"/> <include android:id="@+id/user_work_container" layout="@layout/trusted_credential_list_container"/> <ExpandableListView android:id="@+id/user_expandable_list" style="@style/TrustedCredentialsList" android:visibility="gone"> </ExpandableListView> android:visibility="gone" android:animateLayoutChanges="true"> </LinearLayout> </FrameLayout> Loading
res/values/styles.xml +2 −2 Original line number Diff line number Diff line Loading @@ -147,8 +147,8 @@ </style> <style name="TrustedCredentialsList"> <item name="android:layout_width">fill_parent</item> <item name="android:layout_height">fill_parent</item> <item name="android:layout_width">match_parent</item> <item name="android:layout_height">match_parent</item> <item name="android:scrollbarStyle">outsideOverlay</item> </style> Loading
src/com/android/settings/TrustedCredentialsSettings.java +42 −49 Original line number Diff line number Diff line Loading @@ -16,6 +16,10 @@ package com.android.settings; import static android.widget.LinearLayout.LayoutParams.MATCH_PARENT; import static android.widget.LinearLayout.LayoutParams.WRAP_CONTENT; import android.animation.LayoutTransition; import android.annotation.UiThread; import android.app.Activity; import android.app.KeyguardManager; Loading Loading @@ -96,18 +100,12 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment R.string.trusted_credentials_system_tab, R.id.system_tab, R.id.system_progress, R.id.system_personal_container, R.id.system_work_container, R.id.system_expandable_list, R.id.system_content, true), USER("user", R.string.trusted_credentials_user_tab, R.id.user_tab, R.id.user_progress, R.id.user_personal_container, R.id.user_work_container, R.id.user_expandable_list, R.id.user_content, false); Loading @@ -115,21 +113,14 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment private final int mLabel; private final int mView; private final int mProgress; private final int mPersonalList; private final int mWorkList; private final int mExpandableList; private final int mContentView; private final boolean mSwitch; private Tab(String tag, int label, int view, int progress, int personalList, int workList, int expandableList, int contentView, boolean withSwitch) { private Tab(String tag, int label, int view, int progress, int contentView, boolean withSwitch) { mTag = tag; mLabel = label; mView = view; mProgress = progress; mPersonalList = personalList; mWorkList = workList; mExpandableList = expandableList; mContentView = contentView; mSwitch = withSwitch; } Loading Loading @@ -279,31 +270,31 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment .setContent(tab.mView); mTabHost.addTab(systemSpec); final int profilesSize = mUserManager.getUserProfiles().size(); final GroupAdapter groupAdapter = new GroupAdapter(tab); mGroupAdapters.add(groupAdapter); if (profilesSize == 1) { final ChildAdapter adapter = groupAdapter.getChildAdapter(0); adapter.setContainerViewId(tab.mPersonalList); adapter.prepare(); } else if (profilesSize == 2) { final int workIndex = groupAdapter.getUserInfoByGroup(1).isManagedProfile() ? 1 : 0; final int personalIndex = workIndex == 1 ? 0 : 1; final ChildAdapter personalAdapter = groupAdapter.getChildAdapter(personalIndex); personalAdapter.setContainerViewId(tab.mPersonalList); personalAdapter.showHeader(true); personalAdapter.prepare(); final ChildAdapter workAdapter = groupAdapter.getChildAdapter(workIndex); workAdapter.setContainerViewId(tab.mWorkList); workAdapter.showHeader(true); workAdapter.showDivider(true); workAdapter.prepare(); } else if (profilesSize >= 3) { groupAdapter.setExpandableListView( (ExpandableListView) mTabHost.findViewById(tab.mExpandableList)); final int profilesSize = groupAdapter.getGroupCount(); // Add a transition for non-visibility events like resizing the pane. final ViewGroup contentView = (ViewGroup) mTabHost.findViewById(tab.mContentView); contentView.getLayoutTransition().enableTransitionType(LayoutTransition.CHANGING); final LayoutInflater inflater = LayoutInflater.from(getActivity()); for (int i = 0; i < groupAdapter.getGroupCount(); i++) { final boolean isWork = groupAdapter.getUserInfoByGroup(i).isManagedProfile(); final ChildAdapter adapter = groupAdapter.getChildAdapter(i); final LinearLayout containerView = (LinearLayout) inflater .inflate(R.layout.trusted_credential_list_container, contentView, false); adapter.setContainerView(containerView); adapter.showHeader(profilesSize > 1); adapter.showDivider(isWork); adapter.setExpandIfAvailable(profilesSize <= 2 ? true : !isWork); if (isWork) { contentView.addView(containerView); } else { contentView.addView(containerView, 0); } } } Loading Loading @@ -504,10 +495,12 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment AdapterView.OnItemClickListener { private final int[] GROUP_EXPANDED_STATE_SET = {com.android.internal.R.attr.state_expanded}; private final int[] EMPTY_STATE_SET = {}; private final LinearLayout.LayoutParams HIDE_LAYOUT_PARAMS = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); private final LinearLayout.LayoutParams HIDE_CONTAINER_LAYOUT_PARAMS = new LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT, 0f); private final LinearLayout.LayoutParams HIDE_LIST_LAYOUT_PARAMS = new LinearLayout.LayoutParams(MATCH_PARENT, 0); private final LinearLayout.LayoutParams SHOW_LAYOUT_PARAMS = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1f); LinearLayout.LayoutParams.MATCH_PARENT, MATCH_PARENT, 1f); private final GroupAdapter mParent; private final int mGroupPosition; /* Loading Loading @@ -577,9 +570,8 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment showCertDialog(getItem(pos)); } public void setContainerViewId(int viewId) { mContainerView = (LinearLayout) mTabHost.findViewById(viewId); mContainerView.setVisibility(View.VISIBLE); public void setContainerView(LinearLayout containerView) { mContainerView = containerView; mListView = (ListView) mContainerView.findViewById(R.id.cert_list); mListView.setAdapter(this); Loading Loading @@ -607,9 +599,9 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment dividerView.setVisibility(showDivider ? View.VISIBLE : View.GONE ); } public void prepare() { mIsListExpanded = mParent.checkGroupExpandableAndStartWarningActivity(mGroupPosition, false /* startActivity */); public void setExpandIfAvailable(boolean expanded) { mIsListExpanded = expanded && mParent.checkGroupExpandableAndStartWarningActivity( mGroupPosition, false /* startActivity */); refreshViews(); } Loading @@ -620,9 +612,10 @@ public class TrustedCredentialsSettings extends OptionsMenuFragment private void refreshViews() { mIndicatorView.setImageState(mIsListExpanded ? GROUP_EXPANDED_STATE_SET : EMPTY_STATE_SET, false); mListView.setVisibility(mIsListExpanded ? View.VISIBLE : View.GONE); mListView.setLayoutParams(mIsListExpanded ? SHOW_LAYOUT_PARAMS : HIDE_LIST_LAYOUT_PARAMS); mContainerView.setLayoutParams(mIsListExpanded ? SHOW_LAYOUT_PARAMS : HIDE_LAYOUT_PARAMS); : HIDE_CONTAINER_LAYOUT_PARAMS); } // Get group indicator from styles of ExpandableListView Loading