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

Commit 26b51b84 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

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

Change-Id: I96dffee93ebe77463affaf3ff88212d58494eddb
parents 2b2a95bf f4d1abb3
Loading
Loading
Loading
Loading
+49 −14
Original line number Original line Diff line number Diff line
@@ -115,6 +115,10 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
        mInjector = injector;
        mInjector = injector;
    }
    }


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

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


    protected abstract void showNoPersonalAppsAvailableEmptyState(
            ResolverListAdapter activeListAdapter);

    protected abstract void showNoWorkAppsAvailableEmptyState(
            ResolverListAdapter activeListAdapter);

    protected abstract void showNoWorkToPersonalIntentsEmptyState(
    protected abstract void showNoWorkToPersonalIntentsEmptyState(
            ResolverListAdapter activeListAdapter);
            ResolverListAdapter activeListAdapter);


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


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


        ImageView icon = emptyStateView.findViewById(R.id.resolver_empty_state_icon);
        ImageView icon = emptyStateView.findViewById(R.id.resolver_empty_state_icon);
@@ -395,6 +408,17 @@ public abstract class AbstractMultiProfilePagerAdapter extends PagerAdapter {
        activeListAdapter.markTabLoaded();
        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) {
    private void showSpinner(View emptyStateView) {
        emptyStateView.findViewById(R.id.resolver_empty_state_icon).setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_icon).setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_title).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);
                .setVisibility(View.INVISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_button).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.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_icon).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_title).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_subtitle).setVisibility(View.VISIBLE);
        emptyStateView.findViewById(R.id.resolver_empty_state_button).setVisibility(View.INVISIBLE);
        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.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) {
    protected void showListView(ResolverListAdapter activeListAdapter) {
+19 −3
Original line number Original line Diff line number Diff line
@@ -175,7 +175,7 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
            View.OnClickListener listener) {
            View.OnClickListener listener) {
        showEmptyState(activeListAdapter,
        showEmptyState(activeListAdapter,
                R.drawable.ic_work_apps_off,
                R.drawable.ic_work_apps_off,
                R.string.resolver_turn_on_work_apps_share,
                R.string.resolver_turn_on_work_apps,
                /* subtitleRes */ 0,
                /* subtitleRes */ 0,
                listener);
                listener);
    }
    }
@@ -185,7 +185,7 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
        showEmptyState(activeListAdapter,
        showEmptyState(activeListAdapter,
                R.drawable.ic_sharing_disabled,
                R.drawable.ic_sharing_disabled,
                R.string.resolver_cant_share_with_work_apps,
                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
    @Override
@@ -193,7 +193,23 @@ public class ChooserMultiProfilePagerAdapter extends AbstractMultiProfilePagerAd
        showEmptyState(activeListAdapter,
        showEmptyState(activeListAdapter,
                R.drawable.ic_sharing_disabled,
                R.drawable.ic_sharing_disabled,
                R.string.resolver_cant_share_with_personal_apps,
                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 {
    class ChooserProfileDescriptor extends ProfileDescriptor {
+6 −8
Original line number Original line Diff line number Diff line
@@ -752,6 +752,11 @@ public class ResolverActivity extends Activity implements
            }
            }
            mRegistered = true;
            mRegistered = true;
        }
        }
        if (shouldShowTabs() && mMultiProfilePagerAdapter.isWaitingToEnableWorkProfile()) {
            if (mMultiProfilePagerAdapter.isQuietModeEnabled(getWorkProfileUserHandle())) {
                mMultiProfilePagerAdapter.markWorkProfileEnabledBroadcastReceived();
            }
        }
        mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
        mMultiProfilePagerAdapter.getActiveListAdapter().handlePackagesChanged();
        updateProfileViewButton();
        updateProfileViewButton();
    }
    }
@@ -990,7 +995,7 @@ public class ResolverActivity extends Activity implements
            return;
            return;
        }
        }
        if (shouldShowEmptyState(listAdapter)) {
        if (shouldShowEmptyState(listAdapter)) {
            mMultiProfilePagerAdapter.showEmptyState(listAdapter);
            mMultiProfilePagerAdapter.showNoAppsAvailableEmptyState(listAdapter);
        } else {
        } else {
            mMultiProfilePagerAdapter.showListView(listAdapter);
            mMultiProfilePagerAdapter.showListView(listAdapter);
        }
        }
@@ -1603,8 +1608,6 @@ public class ResolverActivity extends Activity implements
    }
    }


    private void resetTabsHeaderStyle(TabWidget tabWidget) {
    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++) {
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
            View tabView = tabWidget.getChildAt(i);
            View tabView = tabWidget.getChildAt(i);
            TextView title = tabView.findViewById(android.R.id.title);
            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.setTextColor(getAttrColor(this, android.R.attr.textColorTertiary));
            title.setTextSize(TypedValue.COMPLEX_UNIT_PX,
            title.setTextSize(TypedValue.COMPLEX_UNIT_PX,
                    getResources().getDimension(R.dimen.resolver_tab_text_size));
                    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 Original line Diff line number Diff line
@@ -167,7 +167,7 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
            View.OnClickListener listener) {
            View.OnClickListener listener) {
        showEmptyState(activeListAdapter,
        showEmptyState(activeListAdapter,
                R.drawable.ic_work_apps_off,
                R.drawable.ic_work_apps_off,
                R.string.resolver_turn_on_work_apps_view,
                R.string.resolver_turn_on_work_apps,
                /* subtitleRes */ 0,
                /* subtitleRes */ 0,
                listener);
                listener);
    }
    }
@@ -188,6 +188,22 @@ public class ResolverMultiProfilePagerAdapter extends AbstractMultiProfilePagerA
                R.string.resolver_cant_access_personal_apps_explanation);
                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 {
    class ResolverProfileDescriptor extends ProfileDescriptor {
        private ResolverListAdapter resolverListAdapter;
        private ResolverListAdapter resolverListAdapter;
        final ListView listView;
        final ListView listView;
+9 −1
Original line number Original line Diff line number Diff line
@@ -18,7 +18,7 @@
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/resolver_empty_state"
    android:id="@+id/resolver_empty_state"
    android:layout_width="match_parent"
    android:layout_width="match_parent"
    android:layout_height="@dimen/resolver_empty_state_height"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:orientation="vertical"
    android:gravity="center_horizontal"
    android:gravity="center_horizontal"
    android:visibility="gone"
    android:visibility="gone"
@@ -72,4 +72,12 @@
        android:layout_centerHorizontal="true"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/resolver_empty_state_subtitle"
        android:layout_below="@+id/resolver_empty_state_subtitle"
        android:indeterminateTint="?attr/colorAccent"/>
        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>
</RelativeLayout>
 No newline at end of file
Loading