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

Commit 73b6bfc1 authored by Julia Reynolds's avatar Julia Reynolds Committed by Android (Google) Code Review
Browse files

Merge "Only show Bubbles link for messaging apps" into rvc-dev

parents 4029f92f 3d613bb6
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -37,12 +37,12 @@
        android:visibility="gone"
        settings:allowDividerAbove="false"
        settings:allowDividerBelow="false">
    </PreferenceCategory>
    <com.android.settingslib.RestrictedSwitchPreference
        android:key="invalid_conversation_switch"
        android:title="@string/conversation_section_switch_title" />
    <Preference
        android:key="invalid_conversation_info"/>
    </PreferenceCategory>

    <!--Bubbles -->
    <Preference
+12 −1
Original line number Diff line number Diff line
@@ -72,9 +72,20 @@ public class AppBubbleListPreferenceController extends AppConversationListPrefer

    @Override
    public boolean isAvailable() {
        if (!super.isAvailable()) {
        // copy rather than inherit super's isAvailable because apps can link to this page
        // as part of onboarding, before they send a valid conversation notification
        if (mAppRow == null) {
            return false;
        }
        if (mAppRow.banned) {
            return false;
        }
        if (mChannel != null) {
            if (mBackend.onlyHasDefaultChannel(mAppRow.pkg, mAppRow.uid)
                    || NotificationChannel.DEFAULT_CHANNEL_ID.equals(mChannel.getId())) {
                return false;
            }
        }
        if (mAppRow.bubblePreference == BUBBLE_PREFERENCE_NONE) {
            return false;
        }
+9 −0
Original line number Diff line number Diff line
@@ -268,6 +268,15 @@ public class NotificationBackend {
        }
    }

    public boolean hasSentValidMsg(String pkg, int uid) {
        try {
            return sINM.hasSentValidMsg(pkg, uid);
        } catch (Exception e) {
            Log.w(TAG, "Error calling NoMan", e);
            return false;
        }
    }

    public boolean isInInvalidMsgState(String pkg, int uid) {
        try {
            return sINM.isInInvalidMsgState(pkg, uid);
+3 −4
Original line number Diff line number Diff line
@@ -46,7 +46,6 @@ public class AppConversationListPreferenceController extends NotificationPrefere

    protected List<ConversationChannelWrapper> mConversations = new ArrayList<>();
    protected PreferenceCategory mPreference;
    private boolean mIsInInvalidMsgState;

    public AppConversationListPreferenceController(Context context, NotificationBackend backend) {
        super(context, backend);
@@ -71,7 +70,8 @@ public class AppConversationListPreferenceController extends NotificationPrefere
                return false;
            }
        }
        return true;
        return mBackend.hasSentValidMsg(mAppRow.pkg, mAppRow.uid) || mBackend.isInInvalidMsgState(
                mAppRow.pkg, mAppRow.uid);
    }

    @Override
@@ -88,7 +88,6 @@ public class AppConversationListPreferenceController extends NotificationPrefere
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... unused) {
                mIsInInvalidMsgState = mBackend.isInInvalidMsgState(mAppRow.pkg, mAppRow.uid);
                ParceledListSlice<ConversationChannelWrapper> list =
                        mBackend.getConversations(mAppRow.pkg, mAppRow.uid);
                if (list != null) {
@@ -122,7 +121,7 @@ public class AppConversationListPreferenceController extends NotificationPrefere
            return;
        }

        if (!mIsInInvalidMsgState && !mConversations.isEmpty()) {
        if (!mConversations.isEmpty()) {
            // TODO: if preference has children, compare with newly loaded list
            mPreference.removeAll();
            mPreference.setTitle(getTitleResId());
+2 −2
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ public class BubbleSummaryPreferenceController extends NotificationPreferenceCon
        if (!super.isAvailable()) {
            return false;
        }
        if (mAppRow == null && mChannel == null) {
        if (mAppRow == null) {
            return false;
        }
        if (mChannel != null) {
@@ -62,7 +62,7 @@ public class BubbleSummaryPreferenceController extends NotificationPreferenceCon
                return mAppRow != null;
            }
        }
        return isGloballyEnabled();
        return isGloballyEnabled() && mBackend.hasSentValidMsg(mAppRow.pkg, mAppRow.uid);
    }

    @Override
Loading