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

Commit a1d5023a authored by Jeff DeCew's avatar Jeff DeCew
Browse files

Use the new NotificationRowContentBinderImpl based on the flag.

Bug: 343942780
Flag: com.android.systemui.notification_row_content_binder_refactor
Test: atest SystemUITests
Change-Id: Ide57b3cb756eafdc1019cf50e68bb6c0c67903a1
parent 8a0a5690
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import com.android.systemui.statusbar.notification.InflationException;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation;
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation;
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor;
import com.android.systemui.statusbar.notification.row.ui.viewbinder.SingleLineConversationViewBinder;
import com.android.systemui.statusbar.notification.row.ui.viewbinder.SingleLineViewBinder;
import com.android.systemui.statusbar.notification.row.ui.viewmodel.SingleLineViewModel;
@@ -105,6 +106,7 @@ public class NotificationContentInflater implements NotificationRowContentBinder
            NotifLayoutInflaterFactory.Provider notifLayoutInflaterFactoryProvider,
            HeadsUpStyleProvider headsUpStyleProvider,
            NotificationRowContentBinderLogger logger) {
        NotificationRowContentBinderRefactor.assertInLegacyMode();
        mRemoteViewCache = remoteViewCache;
        mRemoteInputManager = remoteInputManager;
        mConversationProcessor = conversationProcessor;
+6 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ import com.android.systemui.statusbar.notification.row.NotificationRowContentBin
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag
import com.android.systemui.statusbar.notification.row.shared.AsyncGroupHeaderViewInflation
import com.android.systemui.statusbar.notification.row.shared.AsyncHybridViewInflation
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor
import com.android.systemui.statusbar.notification.row.ui.viewbinder.SingleLineConversationViewBinder
import com.android.systemui.statusbar.notification.row.ui.viewbinder.SingleLineViewBinder
import com.android.systemui.statusbar.notification.row.ui.viewmodel.SingleLineViewModel
@@ -89,6 +90,11 @@ constructor(
    private val headsUpStyleProvider: HeadsUpStyleProvider,
    private val logger: NotificationRowContentBinderLogger
) : NotificationRowContentBinder {

    init {
        /* check if */ NotificationRowContentBinderRefactor.isUnexpectedlyInLegacyMode()
    }

    private var inflateSynchronously = false

    override fun bindContent(
+15 −3
Original line number Diff line number Diff line
@@ -17,9 +17,13 @@
package com.android.systemui.statusbar.notification.row;

import com.android.systemui.dagger.SysUISingleton;
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor;

import dagger.Binds;
import dagger.Module;
import dagger.Provides;

import javax.inject.Provider;

/**
 * Dagger Module containing notification row and view inflation implementations.
@@ -30,10 +34,18 @@ public abstract class NotificationRowModule {
    /**
     * Provides notification row content binder instance.
     */
    @Binds
    @Provides
    @SysUISingleton
    public abstract NotificationRowContentBinder provideNotificationRowContentBinder(
            NotificationContentInflater contentBinderImpl);
    public static NotificationRowContentBinder provideNotificationRowContentBinder(
            Provider<NotificationContentInflater> legacyImpl,
            Provider<NotificationRowContentBinderImpl> refactoredImpl
    ) {
        if (NotificationRowContentBinderRefactor.isEnabled()) {
            return refactoredImpl.get();
        } else {
            return legacyImpl.get();
        }
    }

    /**
     * Provides notification remote view cache instance.
+3 −0
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import android.os.AsyncTask;
import android.os.CancellationSignal;
import android.os.Handler;
import android.os.Looper;
import android.platform.test.annotations.DisableFlags;
import android.testing.TestableLooper;
import android.testing.TestableLooper.RunWithLooper;
import android.util.TypedValue;
@@ -60,6 +61,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.BindParams;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationCallback;
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag;
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor;
import com.android.systemui.statusbar.policy.InflatedSmartReplyState;
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder;
import com.android.systemui.statusbar.policy.SmartReplyStateInflater;
@@ -81,6 +83,7 @@ import java.util.concurrent.TimeUnit;
@SmallTest
@RunWith(AndroidJUnit4.class)
@RunWithLooper(setAsMainLooper = true)
@DisableFlags(NotificationRowContentBinderRefactor.FLAG_NAME)
public class NotificationContentInflaterTest extends SysuiTestCase {

    private NotificationContentInflater mNotificationInflater;
+3 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.content.Context
import android.os.AsyncTask
import android.os.Build
import android.os.CancellationSignal
import android.platform.test.annotations.EnableFlags
import android.testing.TestableLooper.RunWithLooper
import android.util.TypedValue
import android.view.View
@@ -35,6 +36,7 @@ import com.android.systemui.statusbar.notification.collection.NotificationEntry
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.BindParams
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationCallback
import com.android.systemui.statusbar.notification.row.NotificationRowContentBinder.InflationFlag
import com.android.systemui.statusbar.notification.row.shared.NotificationRowContentBinderRefactor
import com.android.systemui.statusbar.policy.InflatedSmartReplyState
import com.android.systemui.statusbar.policy.InflatedSmartReplyViewHolder
import com.android.systemui.statusbar.policy.SmartReplyStateInflater
@@ -58,6 +60,7 @@ import org.mockito.kotlin.whenever
@SmallTest
@RunWith(AndroidJUnit4::class)
@RunWithLooper
@EnableFlags(NotificationRowContentBinderRefactor.FLAG_NAME)
class NotificationRowContentBinderImplTest : SysuiTestCase() {
    private lateinit var mNotificationInflater: NotificationRowContentBinderImpl
    private lateinit var mBuilder: Notification.Builder
Loading