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

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

Merge "Make "Always" and "Just once" buttons work properly in tabbed view" into rvc-dev

parents 29827d59 349af6a9
Loading
Loading
Loading
Loading
+39 −12
Original line number Original line Diff line number Diff line
@@ -854,6 +854,11 @@ public class ResolverActivity extends Activity implements


    private void setAlwaysButtonEnabled(boolean hasValidSelection, int checkedPos,
    private void setAlwaysButtonEnabled(boolean hasValidSelection, int checkedPos,
            boolean filtered) {
            boolean filtered) {
        if (mMultiProfilePagerAdapter.getCurrentUserHandle() != getUser()) {
            // Never allow the inactive profile to always open an app.
            mAlwaysButton.setEnabled(false);
            return;
        }
        boolean enabled = false;
        boolean enabled = false;
        ResolveInfo ri = null;
        ResolveInfo ri = null;
        if (hasValidSelection) {
        if (hasValidSelection) {
@@ -877,6 +882,7 @@ public class ResolverActivity extends Activity implements
            }
            }
        }
        }


        if (ri != null) {
            ActivityInfo activityInfo = ri.activityInfo;
            ActivityInfo activityInfo = ri.activityInfo;


            boolean hasRecordPermission =
            boolean hasRecordPermission =
@@ -891,6 +897,7 @@ public class ResolverActivity extends Activity implements
                                ResolverActivity.EXTRA_IS_AUDIO_CAPTURE_DEVICE, false);
                                ResolverActivity.EXTRA_IS_AUDIO_CAPTURE_DEVICE, false);
                enabled = !hasAudioCapture;
                enabled = !hasAudioCapture;
            }
            }
        }
        mAlwaysButton.setEnabled(enabled);
        mAlwaysButton.setEnabled(enabled);
    }
    }


@@ -1567,10 +1574,26 @@ public class ResolverActivity extends Activity implements


        viewPager.setVisibility(View.VISIBLE);
        viewPager.setVisibility(View.VISIBLE);
        tabHost.setCurrentTab(mMultiProfilePagerAdapter.getCurrentPage());
        tabHost.setCurrentTab(mMultiProfilePagerAdapter.getCurrentPage());
        mMultiProfilePagerAdapter.setOnProfileSelectedListener(tabHost::setCurrentTab);
        mMultiProfilePagerAdapter.setOnProfileSelectedListener(
                index -> {
                    tabHost.setCurrentTab(index);
                    resetButtonBar();
                    resetCheckedItem();
                });
        findViewById(R.id.resolver_tab_divider).setVisibility(View.VISIBLE);
        findViewById(R.id.resolver_tab_divider).setVisibility(View.VISIBLE);
    }
    }


    private void resetCheckedItem() {
        if (!isIntentPicker()) {
            return;
        }
        mLastSelected = ListView.INVALID_POSITION;
        ListView inactiveListView = (ListView) mMultiProfilePagerAdapter.getInactiveAdapterView();
        if (inactiveListView.getCheckedItemCount() > 0) {
            inactiveListView.setItemChecked(inactiveListView.getCheckedItemPosition(), false);
        }
    }

    private void resetTabsHeaderStyle(TabWidget tabWidget) {
    private void resetTabsHeaderStyle(TabWidget tabWidget) {
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
            TextView title = tabWidget.getChildAt(i).findViewById(android.R.id.title);
            TextView title = tabWidget.getChildAt(i).findViewById(android.R.id.title);
@@ -1677,6 +1700,10 @@ public class ResolverActivity extends Activity implements
    }
    }


    private void resetAlwaysOrOnceButtonBar() {
    private void resetAlwaysOrOnceButtonBar() {
        // Disable both buttons initially
        setAlwaysButtonEnabled(false, ListView.INVALID_POSITION, false);
        mOnceButton.setEnabled(false);

        int filteredPosition = mMultiProfilePagerAdapter.getActiveListAdapter()
        int filteredPosition = mMultiProfilePagerAdapter.getActiveListAdapter()
                .getFilteredPosition();
                .getFilteredPosition();
        if (useLayoutWithDefault() && filteredPosition != ListView.INVALID_POSITION) {
        if (useLayoutWithDefault() && filteredPosition != ListView.INVALID_POSITION) {