Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4d1abb3 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Improve strings for share sheet and intent resolvers." into rvc-dev

parents 0e7efa97 afec9d03
Loading
Loading
Loading
Loading
+49 −14
Original line number Diff line number Diff line
@@ -115,6 +115,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
        mInjector = injector;
    }

    protected boolean isQuietModeEnabled(UserHandle workProfileUserHandle) {
        return mInjector.isQuietModeEnabled(workProfileUserHandle);
    }

    void setOnProfileSelectedListener(OnProfileSelectedListener listener) {
        mOnProfileSelectedListener = listener;
    }
@@ -339,23 +343,32 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
    protected abstract void showNoPersonalToWorkIntentsEmptyState(
            ResolverListAdapter activeListAdapter);

    protected abstract void showNoPersonalAppsAvailableEmptyState(
            ResolverListAdapter activeListAdapter);

    protected abstract void showNoWorkAppsAvailableEmptyState(
            ResolverListAdapter activeListAdapter);

    protected abstract void showNoWorkToPersonalIntentsEmptyState(
            ResolverListAdapter activeListAdapter);

    void showEmptyState(ResolverListAdapter listAdapter) {
    void showNoAppsAvailableEmptyState(ResolverListAdapter listAdapter) {
        UserHandle listUserHandle = listAdapter.getUserHandle();
        if (UserHandle.myUserId() == listUserHandle.getIdentifier()
                || !hasAppsInOtherProfile(listAdapter)) {
            if (mWorkProfileUserHandle != null) {
        if (mWorkProfileUserHandle != null
                && (UserHandle.myUserId() == listUserHandle.getIdentifier()
                        || !hasAppsInOtherProfile(listAdapter))) {
            DevicePolicyEventLogger.createEvent(
                    DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_APPS_RESOLVED)
                    .setStrings(getMetricsCategory())
                    .setBoolean(/*isPersonalProfile*/ listUserHandle == mPersonalProfileUserHandle)
                    .write();
            if (listUserHandle == mPersonalProfileUserHandle) {
                showNoPersonalAppsAvailableEmptyState(listAdapter);
            } else {
                showNoWorkAppsAvailableEmptyState(listAdapter);
            }
            showEmptyState(listAdapter,
                    R.drawable.ic_no_apps,
                    R.string.resolver_no_apps_available,
                    /* subtitleRes */ 0);
        } else if (mWorkProfileUserHandle == null) {
            showConsumerUserNoAppsAvailableEmptyState(listAdapter);
        }
    }

@@ -371,7 +384,7 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
                userHandleToPageIndex(activeListAdapter.getUserHandle()));
        descriptor.rootView.findViewById(R.id.resolver_list).setVisibility(View.GONE);
        View emptyStateView = descriptor.getEmptyStateView();
        resetViewVisibilities(emptyStateView);
        resetViewVisibilitiesForWorkProfileEmptyState(emptyStateView);
        emptyStateView.setVisibility(View.VISIBLE);

        ImageView icon = emptyStateView.findViewById(R.id.resolver_empty_state_icon);
@@ -395,6 +408,17 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
        activeListAdapter.markTabLoaded();
    }

    private void showConsumerUserNoAppsAvailableEmptyState(ResolverListAdapter activeListAdapter) {
        ProfileDescriptor descriptor = getItem(
                userHandleToPageIndex(activeListAdapter.getUserHandle()));
        descriptor.rootView.findViewById(R.id.resolver_list).setVisibility(View.GONE);
        View emptyStateView = descriptor.getEmptyStateView();
        resetViewVisibilitiesForConsumerUserEmptyState(emptyStateView);
        emptyStateView.setVisibility(View.VISIBLE);

        activeListAdapter.markTabLoaded();
    }

    private void showSpinner(View emptyStateView) {
        emptyStateView.findViewById(R.id.resolver_empty_state_icon).setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_title).setVisibility(View.INVISIBLE);
@@ -402,14 +426,25 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
                .setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_button).setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_progress).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.empty).setVisibility(View.GONE);
    }

    private void resetViewVisibilities(View emptyStateView) {
    private void resetViewVisibilitiesForWorkProfileEmptyState(View emptyStateView) {
        emptyStateView.findViewById(R.id.resolver_empty_state_icon).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_title).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_subtitle).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_button).setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_progress).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.empty).setVisibility(View.GONE);
    }

    private void resetViewVisibilitiesForConsumerUserEmptyState(View emptyStateView) {
        emptyStateView.findViewById(R.id.resolver_empty_state_icon).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.resolver_empty_state_title).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.resolver_empty_state_subtitle).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.resolver_empty_state_button).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.resolver_empty_state_progress).setVisibility(View.GONE);
        emptyStateView.findViewById(R.id.empty).setVisibility(View.VISIBLE);
    }

    protected void showListView(ResolverListAdapter activeListAdapter) {
+19 −3
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
            View.OnClickListener listener) {
        showEmptyState(activeListAdapter,
                R.drawable.ic_work_apps_off,
                R.string.resolver_turn_on_work_apps_share,
                R.string.resolver_turn_on_work_apps,
                /* subtitleRes */ 0,
                listener);
    }
@@ -185,7 +185,7 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
        showEmptyState(activeListAdapter,
                R.drawable.ic_sharing_disabled,
                R.string.resolver_cant_share_with_work_apps,
                R.string.resolver_cant_share_cross_profile_explanation);
                R.string.resolver_cant_share_with_work_apps_explanation);
    }

    @Override
@@ -193,7 +193,23 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
        showEmptyState(activeListAdapter,
                R.drawable.ic_sharing_disabled,
                R.string.resolver_cant_share_with_personal_apps,
                R.string.resolver_cant_share_cross_profile_explanation);
                R.string.resolver_cant_share_with_personal_apps_explanation);
    }

    @Override
    protected void showNoPersonalAppsAvailableEmptyState(ResolverListAdapter listAdapter) {
        showEmptyState(listAdapter,
                R.drawable.ic_no_apps,
                R.string.resolver_no_personal_apps_available_share,
                /* subtitleRes */ 0);
    }

    @Override
    protected void showNoWorkAppsAvailableEmptyState(ResolverListAdapter listAdapter) {
        showEmptyState(listAdapter,
                R.drawable.ic_no_apps,
                R.string.resolver_no_work_apps_available_share,
                /* subtitleRes */ 0);
    }

    class ChooserProfileDescriptor extends ProfileDescriptor {
+6 −8
Original line number Diff line number Diff line
@@ -752,6 +752,11 @@ public class ResolverActivity extends Activity implements
            }
            mRegistered = true;
        }
        if (shouldShowTabs() && mMultiProfilePagerAdapter.isWaitingToEnableWorkProfile()) {
            if (mMultiProfilePagerAdapter.isQuietModeEnabled(getWorkProfileUserHandle())) {
                mMultiProfilePagerAdapter.markWorkProfileEnabledBroadcastReceived();
            }
        }
        mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
        updateProfileViewButton();
    }
@@ -990,7 +995,7 @@ public class ResolverActivity extends Activity implements
            return;
        }
        if (shouldShowEmptyState(listAdapter)) {
            mMultiProfilePagerAdapter.showEmptyState(listAdapter);
            mMultiProfilePagerAdapter.showNoAppsAvailableEmptyState(listAdapter);
        } else {
            mMultiProfilePagerAdapter.showListView(listAdapter);
        }
@@ -1603,8 +1608,6 @@ public class ResolverActivity extends Activity implements
    }

    private void resetTabsHeaderStyle(TabWidget tabWidget) {
        String workContentDescription = getString(R.string.resolver_work_tab_accessibility);
        String personalContentDescription = getString(R.string.resolver_personal_tab_accessibility);
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
            View tabView = tabWidget.getChildAt(i);
            TextView title = tabView.findViewById(android.R.id.title);
@@ -1612,11 +1615,6 @@ public class ResolverActivity extends Activity implements
            title.setTextColor(getAttrColor(this, android.R.attr.textColorTertiary));
            title.setTextSize(TypedValue.COMPLEX_UNIT_PX,
                    getResources().getDimension(R.dimen.resolver_tab_text_size));
            if (title.getText().equals(getString(R.string.resolver_personal_tab))) {
                tabView.setContentDescription(personalContentDescription);
            } else if (title.getText().equals(getString(R.string.resolver_work_tab))) {
                tabView.setContentDescription(workContentDescription);
            }
        }
    }

+17 −1
Original line number Diff line number Diff line
@@ -167,7 +167,7 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
            View.OnClickListener listener) {
        showEmptyState(activeListAdapter,
                R.drawable.ic_work_apps_off,
                R.string.resolver_turn_on_work_apps_view,
                R.string.resolver_turn_on_work_apps,
                /* subtitleRes */ 0,
                listener);
    }
@@ -188,6 +188,22 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
                R.string.resolver_cant_access_personal_apps_explanation);
    }

    @Override
    protected void showNoPersonalAppsAvailableEmptyState(ResolverListAdapter listAdapter) {
        showEmptyState(listAdapter,
                R.drawable.ic_no_apps,
                R.string.resolver_no_personal_apps_available_resolve,
                /* subtitleRes */ 0);
    }

    @Override
    protected void showNoWorkAppsAvailableEmptyState(ResolverListAdapter listAdapter) {
        showEmptyState(listAdapter,
                R.drawable.ic_no_apps,
                R.string.resolver_no_work_apps_available_resolve,
                /* subtitleRes */ 0);
    }

    class ResolverProfileDescriptor extends ProfileDescriptor {
        private ResolverListAdapter resolverListAdapter;
        final ListView listView;
+9 −1
Original line number Diff line number Diff line
@@ -18,7 +18,7 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/resolver_empty_state"
    android:layout_width="match_parent"
    android:layout_height="@dimen/resolver_empty_state_height"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:visibility="gone"
@@ -72,4 +72,12 @@
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/resolver_empty_state_subtitle"
        android:indeterminateTint="?attr/colorAccent"/>
    <TextView android:id="@+id/empty"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorBackgroundFloating"
        android:text="@string/noApplications"
        android:padding="@dimen/chooser_edge_margin_normal"
        android:layout_marginBottom="56dp"
        android:gravity="center"/>
</RelativeLayout>
 No newline at end of file
Loading