Loading core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +6 −9 Original line number Original line Diff line number Diff line Loading @@ -437,9 +437,6 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { resetViewVisibilitiesForWorkProfileEmptyState(emptyStateView); resetViewVisibilitiesForWorkProfileEmptyState(emptyStateView); emptyStateView.setVisibility(View.VISIBLE); emptyStateView.setVisibility(View.VISIBLE); View container = emptyStateView.findViewById(R.id.resolver_empty_state_container); setupContainerPadding(container); TextView title = emptyStateView.findViewById(R.id.resolver_empty_state_title); TextView title = emptyStateView.findViewById(R.id.resolver_empty_state_title); title.setText(titleRes); title.setText(titleRes); Loading @@ -466,12 +463,6 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { activeListAdapter.markTabLoaded(); activeListAdapter.markTabLoaded(); } } /** * Sets up the padding of the view containing the empty state screens. * <p>This method is meant to be overridden so that subclasses can customize the padding. */ protected void setupContainerPadding(View container) {} private void showConsumerUserNoAppsAvailableEmptyState(ResolverListAdapter activeListAdapter) { private void showConsumerUserNoAppsAvailableEmptyState(ResolverListAdapter activeListAdapter) { ProfileDescriptor descriptor = getItem( ProfileDescriptor descriptor = getItem( userHandleToPageIndex(activeListAdapter.getUserHandle())); userHandleToPageIndex(activeListAdapter.getUserHandle())); Loading Loading @@ -564,6 +555,12 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { } } } } /** * Callback called when the button layout has been hidden. * <p>This method is meant to be overridden by subclasses. */ protected void onButtonLayoutHidden() { } public interface OnProfileSelectedListener { public interface OnProfileSelectedListener { /** /** * Callback for when the user changes the active tab from personal to work or vice versa. * Callback for when the user changes the active tab from personal to work or vice versa. Loading core/java/com/android/internal/app/ResolverActivity.java +13 −10 Original line number Original line Diff line number Diff line Loading @@ -180,7 +180,7 @@ public class ResolverActivity extends Activity implements public static final String EXTRA_IS_AUDIO_CAPTURE_DEVICE = "is_audio_capture_device"; public static final String EXTRA_IS_AUDIO_CAPTURE_DEVICE = "is_audio_capture_device"; private BroadcastReceiver mWorkProfileStateReceiver; private BroadcastReceiver mWorkProfileStateReceiver; private boolean mIsHeaderCreated; private UserHandle mHeaderCreatorUser; /** /** * Get the string resource to be used as a label for the link to the resolver activity for an * Get the string resource to be used as a label for the link to the resolver activity for an Loading Loading @@ -1730,11 +1730,10 @@ public class ResolverActivity extends Activity implements /** /** * Configure the area above the app selection list (title, content preview, etc). * Configure the area above the app selection list (title, content preview, etc). * <p>The header is created once when first launching the activity and whenever a package is * installed or uninstalled. */ */ private void maybeCreateHeader(ResolverListAdapter listAdapter) { private void maybeCreateHeader(ResolverListAdapter listAdapter) { if (mIsHeaderCreated) { if (mHeaderCreatorUser != null && !listAdapter.getUserHandle().equals(mHeaderCreatorUser)) { return; return; } } if (!shouldShowTabs() if (!shouldShowTabs() Loading @@ -1761,7 +1760,7 @@ public class ResolverActivity extends Activity implements if (iconView != null) { if (iconView != null) { listAdapter.loadFilteredItemIconTaskAsync(iconView); listAdapter.loadFilteredItemIconTaskAsync(iconView); } } mIsHeaderCreated = true; mHeaderCreatorUser = listAdapter.getUserHandle(); } } protected void resetButtonBar() { protected void resetButtonBar() { Loading @@ -1777,13 +1776,18 @@ public class ResolverActivity extends Activity implements mMultiProfilePagerAdapter.getActiveListAdapter(); mMultiProfilePagerAdapter.getActiveListAdapter(); View buttonBarDivider = findViewById(R.id.resolver_button_bar_divider); View buttonBarDivider = findViewById(R.id.resolver_button_bar_divider); if (activeListAdapter.isTabLoaded() if (activeListAdapter.isTabLoaded() && mMultiProfilePagerAdapter.shouldShowEmptyStateScreen(activeListAdapter)) { && mMultiProfilePagerAdapter.shouldShowEmptyStateScreen(activeListAdapter) && !useLayoutWithDefault()) { buttonLayout.setVisibility(View.INVISIBLE); buttonLayout.setVisibility(View.INVISIBLE); if (buttonBarDivider != null) { buttonBarDivider.setVisibility(View.INVISIBLE); buttonBarDivider.setVisibility(View.INVISIBLE); } mMultiProfilePagerAdapter.onButtonLayoutHidden(); return; return; } } if (buttonBarDivider != null) { buttonBarDivider.setVisibility(View.VISIBLE); buttonBarDivider.setVisibility(View.VISIBLE); } buttonLayout.setVisibility(View.VISIBLE); buttonLayout.setVisibility(View.VISIBLE); if (!useLayoutWithDefault()) { if (!useLayoutWithDefault()) { Loading Loading @@ -1872,7 +1876,6 @@ public class ResolverActivity extends Activity implements // turning on. // turning on. return; return; } } mIsHeaderCreated = false; boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true); boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true); if (listRebuilt) { if (listRebuilt) { ResolverListAdapter activeListAdapter = ResolverListAdapter activeListAdapter = Loading core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -214,9 +214,12 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA } } @Override @Override protected void setupContainerPadding(View container) { protected void onButtonLayoutHidden() { container.setPadding(container.getPaddingLeft(), container.getPaddingTop(), View emptyStateContainer = getItem(getCurrentPage()).getEmptyStateView() container.getPaddingRight(), /* bottom */ 0); .findViewById(R.id.resolver_empty_state_container); emptyStateContainer.setPadding(emptyStateContainer.getPaddingLeft(), emptyStateContainer.getPaddingTop(), emptyStateContainer.getPaddingRight(), /* bottom */ 0); } } class ResolverProfileDescriptor extends ProfileDescriptor { class ResolverProfileDescriptor extends ProfileDescriptor { Loading Loading
core/java/com/android/internal/app/AbstractMultiProfilePagerAdapter.java +6 −9 Original line number Original line Diff line number Diff line Loading @@ -437,9 +437,6 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { resetViewVisibilitiesForWorkProfileEmptyState(emptyStateView); resetViewVisibilitiesForWorkProfileEmptyState(emptyStateView); emptyStateView.setVisibility(View.VISIBLE); emptyStateView.setVisibility(View.VISIBLE); View container = emptyStateView.findViewById(R.id.resolver_empty_state_container); setupContainerPadding(container); TextView title = emptyStateView.findViewById(R.id.resolver_empty_state_title); TextView title = emptyStateView.findViewById(R.id.resolver_empty_state_title); title.setText(titleRes); title.setText(titleRes); Loading @@ -466,12 +463,6 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { activeListAdapter.markTabLoaded(); activeListAdapter.markTabLoaded(); } } /** * Sets up the padding of the view containing the empty state screens. * <p>This method is meant to be overridden so that subclasses can customize the padding. */ protected void setupContainerPadding(View container) {} private void showConsumerUserNoAppsAvailableEmptyState(ResolverListAdapter activeListAdapter) { private void showConsumerUserNoAppsAvailableEmptyState(ResolverListAdapter activeListAdapter) { ProfileDescriptor descriptor = getItem( ProfileDescriptor descriptor = getItem( userHandleToPageIndex(activeListAdapter.getUserHandle())); userHandleToPageIndex(activeListAdapter.getUserHandle())); Loading Loading @@ -564,6 +555,12 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter { } } } } /** * Callback called when the button layout has been hidden. * <p>This method is meant to be overridden by subclasses. */ protected void onButtonLayoutHidden() { } public interface OnProfileSelectedListener { public interface OnProfileSelectedListener { /** /** * Callback for when the user changes the active tab from personal to work or vice versa. * Callback for when the user changes the active tab from personal to work or vice versa. Loading
core/java/com/android/internal/app/ResolverActivity.java +13 −10 Original line number Original line Diff line number Diff line Loading @@ -180,7 +180,7 @@ public class ResolverActivity extends Activity implements public static final String EXTRA_IS_AUDIO_CAPTURE_DEVICE = "is_audio_capture_device"; public static final String EXTRA_IS_AUDIO_CAPTURE_DEVICE = "is_audio_capture_device"; private BroadcastReceiver mWorkProfileStateReceiver; private BroadcastReceiver mWorkProfileStateReceiver; private boolean mIsHeaderCreated; private UserHandle mHeaderCreatorUser; /** /** * Get the string resource to be used as a label for the link to the resolver activity for an * Get the string resource to be used as a label for the link to the resolver activity for an Loading Loading @@ -1730,11 +1730,10 @@ public class ResolverActivity extends Activity implements /** /** * Configure the area above the app selection list (title, content preview, etc). * Configure the area above the app selection list (title, content preview, etc). * <p>The header is created once when first launching the activity and whenever a package is * installed or uninstalled. */ */ private void maybeCreateHeader(ResolverListAdapter listAdapter) { private void maybeCreateHeader(ResolverListAdapter listAdapter) { if (mIsHeaderCreated) { if (mHeaderCreatorUser != null && !listAdapter.getUserHandle().equals(mHeaderCreatorUser)) { return; return; } } if (!shouldShowTabs() if (!shouldShowTabs() Loading @@ -1761,7 +1760,7 @@ public class ResolverActivity extends Activity implements if (iconView != null) { if (iconView != null) { listAdapter.loadFilteredItemIconTaskAsync(iconView); listAdapter.loadFilteredItemIconTaskAsync(iconView); } } mIsHeaderCreated = true; mHeaderCreatorUser = listAdapter.getUserHandle(); } } protected void resetButtonBar() { protected void resetButtonBar() { Loading @@ -1777,13 +1776,18 @@ public class ResolverActivity extends Activity implements mMultiProfilePagerAdapter.getActiveListAdapter(); mMultiProfilePagerAdapter.getActiveListAdapter(); View buttonBarDivider = findViewById(R.id.resolver_button_bar_divider); View buttonBarDivider = findViewById(R.id.resolver_button_bar_divider); if (activeListAdapter.isTabLoaded() if (activeListAdapter.isTabLoaded() && mMultiProfilePagerAdapter.shouldShowEmptyStateScreen(activeListAdapter)) { && mMultiProfilePagerAdapter.shouldShowEmptyStateScreen(activeListAdapter) && !useLayoutWithDefault()) { buttonLayout.setVisibility(View.INVISIBLE); buttonLayout.setVisibility(View.INVISIBLE); if (buttonBarDivider != null) { buttonBarDivider.setVisibility(View.INVISIBLE); buttonBarDivider.setVisibility(View.INVISIBLE); } mMultiProfilePagerAdapter.onButtonLayoutHidden(); return; return; } } if (buttonBarDivider != null) { buttonBarDivider.setVisibility(View.VISIBLE); buttonBarDivider.setVisibility(View.VISIBLE); } buttonLayout.setVisibility(View.VISIBLE); buttonLayout.setVisibility(View.VISIBLE); if (!useLayoutWithDefault()) { if (!useLayoutWithDefault()) { Loading Loading @@ -1872,7 +1876,6 @@ public class ResolverActivity extends Activity implements // turning on. // turning on. return; return; } } mIsHeaderCreated = false; boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true); boolean listRebuilt = mMultiProfilePagerAdapter.rebuildActiveTab(true); if (listRebuilt) { if (listRebuilt) { ResolverListAdapter activeListAdapter = ResolverListAdapter activeListAdapter = Loading
core/java/com/android/internal/app/ResolverMultiProfilePagerAdapter.java +6 −3 Original line number Original line Diff line number Diff line Loading @@ -214,9 +214,12 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA } } @Override @Override protected void setupContainerPadding(View container) { protected void onButtonLayoutHidden() { container.setPadding(container.getPaddingLeft(), container.getPaddingTop(), View emptyStateContainer = getItem(getCurrentPage()).getEmptyStateView() container.getPaddingRight(), /* bottom */ 0); .findViewById(R.id.resolver_empty_state_container); emptyStateContainer.setPadding(emptyStateContainer.getPaddingLeft(), emptyStateContainer.getPaddingTop(), emptyStateContainer.getPaddingRight(), /* bottom */ 0); } } class ResolverProfileDescriptor extends ProfileDescriptor { class ResolverProfileDescriptor extends ProfileDescriptor { Loading