Remove #createBackGestureTfClassifierProvider from SystemUIFactory

Bug: 235624311
Test: atest SystemUITests
Change-Id: I5a739c4d5284b95be59059c408e84ca9f928e7ef
This commit is contained in:
Dave Mankoff
2022-06-13 17:55:34 +00:00
parent 7c7e04e13e
commit 7d580d34e2
6 changed files with 56 additions and 16 deletions

View File

@@ -18,7 +18,6 @@ package com.android.systemui;
import android.app.ActivityThread; import android.app.ActivityThread;
import android.content.Context; import android.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Handler; import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
@@ -29,7 +28,6 @@ import com.android.systemui.dagger.DaggerGlobalRootComponent;
import com.android.systemui.dagger.GlobalRootComponent; import com.android.systemui.dagger.GlobalRootComponent;
import com.android.systemui.dagger.SysUIComponent; import com.android.systemui.dagger.SysUIComponent;
import com.android.systemui.dagger.WMComponent; import com.android.systemui.dagger.WMComponent;
import com.android.systemui.navigationbar.gestural.BackGestureTfClassifierProvider;
import com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider; import com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider;
import com.android.wm.shell.dagger.WMShellConcurrencyModule; import com.android.wm.shell.dagger.WMShellConcurrencyModule;
import com.android.wm.shell.transition.ShellTransitions; import com.android.wm.shell.transition.ShellTransitions;
@@ -251,13 +249,4 @@ public class SystemUIFactory {
Context context, Executor executor, Handler uiHandler) { Context context, Executor executor, Handler uiHandler) {
return new ScreenshotNotificationSmartActionsProvider(); return new ScreenshotNotificationSmartActionsProvider();
} }
/**
* Creates an instance of BackGestureTfClassifierProvider.
* This method is overridden in vendor specific implementation of Sys UI.
*/
public BackGestureTfClassifierProvider createBackGestureTfClassifierProvider(
AssetManager am, String modelName) {
return new BackGestureTfClassifierProvider();
}
} }

View File

@@ -42,6 +42,7 @@ import android.content.pm.IPackageManager;
import android.content.pm.LauncherApps; import android.content.pm.LauncherApps;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ShortcutManager; import android.content.pm.ShortcutManager;
import android.content.res.AssetManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.hardware.SensorManager; import android.hardware.SensorManager;
import android.hardware.SensorPrivacyManager; import android.hardware.SensorPrivacyManager;
@@ -89,6 +90,7 @@ import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.statusbar.IStatusBarService; import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.LatencyTracker; import com.android.internal.util.LatencyTracker;
import com.android.systemui.Prefs; import com.android.systemui.Prefs;
import com.android.systemui.dagger.qualifiers.Application;
import com.android.systemui.dagger.qualifiers.DisplayId; import com.android.systemui.dagger.qualifiers.DisplayId;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.dagger.qualifiers.TestHarness; import com.android.systemui.dagger.qualifiers.TestHarness;
@@ -395,6 +397,12 @@ public class FrameworkServicesModule {
return context.getResources(); return context.getResources();
} }
@Provides
@Application
static AssetManager provideAssetManager(@Application Context context) {
return context.getAssets();
}
@Provides @Provides
@Singleton @Singleton
static RoleManager provideRoleManager(Context context) { static RoleManager provideRoleManager(Context context) {

View File

@@ -35,6 +35,7 @@ import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeHost;
import com.android.systemui.media.dagger.MediaModule; import com.android.systemui.media.dagger.MediaModule;
import com.android.systemui.navigationbar.gestural.GestureModule;
import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.qs.QSFactory;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimates;
@@ -94,6 +95,7 @@ import dagger.Provides;
* SystemUI code that variants of SystemUI _must_ include to function correctly. * SystemUI code that variants of SystemUI _must_ include to function correctly.
*/ */
@Module(includes = { @Module(includes = {
GestureModule.class,
MediaModule.class, MediaModule.class,
PowerModule.class, PowerModule.class,
QSModule.class, QSModule.class,

View File

@@ -59,7 +59,6 @@ import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
import com.android.internal.policy.GestureNavigationSettingsObserver; import com.android.internal.policy.GestureNavigationSettingsObserver;
import com.android.internal.util.LatencyTracker; import com.android.internal.util.LatencyTracker;
import com.android.systemui.R; import com.android.systemui.R;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.broadcast.BroadcastDispatcher; import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Main; import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags; import com.android.systemui.flags.FeatureFlags;
@@ -93,6 +92,7 @@ import java.util.Map;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Provider;
/** /**
* Utility class to handle edge swipes for back gesture * Utility class to handle edge swipes for back gesture
@@ -202,6 +202,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
private final Region mExcludeRegion = new Region(); private final Region mExcludeRegion = new Region();
private final Region mUnrestrictedExcludeRegion = new Region(); private final Region mUnrestrictedExcludeRegion = new Region();
private final LatencyTracker mLatencyTracker; private final LatencyTracker mLatencyTracker;
private final Provider<BackGestureTfClassifierProvider>
mBackGestureTfClassifierProviderProvider;
private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags;
// The left side edge width where touch down is allowed // The left side edge width where touch down is allowed
@@ -318,6 +320,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
IWindowManager windowManagerService, IWindowManager windowManagerService,
FalsingManager falsingManager, FalsingManager falsingManager,
LatencyTracker latencyTracker, LatencyTracker latencyTracker,
Provider<BackGestureTfClassifierProvider> backGestureTfClassifierProviderProvider,
FeatureFlags featureFlags) { FeatureFlags featureFlags) {
super(broadcastDispatcher); super(broadcastDispatcher);
mContext = context; mContext = context;
@@ -334,6 +337,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService = windowManagerService; mWindowManagerService = windowManagerService;
mFalsingManager = falsingManager; mFalsingManager = falsingManager;
mLatencyTracker = latencyTracker; mLatencyTracker = latencyTracker;
mBackGestureTfClassifierProviderProvider = backGestureTfClassifierProviderProvider;
mFeatureFlags = featureFlags; mFeatureFlags = featureFlags;
ComponentName recentsComponentName = ComponentName.unflattenFromString( ComponentName recentsComponentName = ComponentName.unflattenFromString(
context.getString(com.android.internal.R.string.config_recentsComponentName)); context.getString(com.android.internal.R.string.config_recentsComponentName));
@@ -611,10 +615,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
} }
if (newState) { if (newState) {
String mlModelName = DeviceConfig.getString(DeviceConfig.NAMESPACE_SYSTEMUI, mBackGestureTfClassifierProvider = mBackGestureTfClassifierProviderProvider.get();
SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_NAME, "backgesture");
mBackGestureTfClassifierProvider = SystemUIFactory.getInstance()
.createBackGestureTfClassifierProvider(mContext.getAssets(), mlModelName);
mMLModelThreshold = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI, mMLModelThreshold = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_THRESHOLD, 0.9f); SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_THRESHOLD, 0.9f);
if (mBackGestureTfClassifierProvider.isActive()) { if (mBackGestureTfClassifierProvider.isActive()) {
@@ -1005,6 +1006,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
private final IWindowManager mWindowManagerService; private final IWindowManager mWindowManagerService;
private final FalsingManager mFalsingManager; private final FalsingManager mFalsingManager;
private final LatencyTracker mLatencyTracker; private final LatencyTracker mLatencyTracker;
private final Provider<BackGestureTfClassifierProvider>
mBackGestureTfClassifierProviderProvider;
private final FeatureFlags mFeatureFlags; private final FeatureFlags mFeatureFlags;
@Inject @Inject
@@ -1021,6 +1024,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
IWindowManager windowManagerService, IWindowManager windowManagerService,
FalsingManager falsingManager, FalsingManager falsingManager,
LatencyTracker latencyTracker, LatencyTracker latencyTracker,
Provider<BackGestureTfClassifierProvider>
backGestureTfClassifierProviderProvider,
FeatureFlags featureFlags) { FeatureFlags featureFlags) {
mOverviewProxyService = overviewProxyService; mOverviewProxyService = overviewProxyService;
mSysUiState = sysUiState; mSysUiState = sysUiState;
@@ -1035,6 +1040,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService = windowManagerService; mWindowManagerService = windowManagerService;
mFalsingManager = falsingManager; mFalsingManager = falsingManager;
mLatencyTracker = latencyTracker; mLatencyTracker = latencyTracker;
mBackGestureTfClassifierProviderProvider = backGestureTfClassifierProviderProvider;
mFeatureFlags = featureFlags; mFeatureFlags = featureFlags;
} }
@@ -1055,6 +1061,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService, mWindowManagerService,
mFalsingManager, mFalsingManager,
mLatencyTracker, mLatencyTracker,
mBackGestureTfClassifierProviderProvider,
mFeatureFlags); mFeatureFlags);
} }
} }

View File

@@ -0,0 +1,32 @@
/*
* Copyright (C) 2022 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.systemui.navigationbar.gestural;
import dagger.Module;
import dagger.Provides;
/**
*
*/
@Module
public interface GestureModule {
/** */
@Provides
static BackGestureTfClassifierProvider providsBackGestureTfClassifierProvider() {
return new BackGestureTfClassifierProvider();
}
}

View File

@@ -35,6 +35,7 @@ import com.android.systemui.demomode.DemoModeController;
import com.android.systemui.dock.DockManager; import com.android.systemui.dock.DockManager;
import com.android.systemui.dock.DockManagerImpl; import com.android.systemui.dock.DockManagerImpl;
import com.android.systemui.doze.DozeHost; import com.android.systemui.doze.DozeHost;
import com.android.systemui.navigationbar.gestural.GestureModule;
import com.android.systemui.plugins.qs.QSFactory; import com.android.systemui.plugins.qs.QSFactory;
import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.power.EnhancedEstimates; import com.android.systemui.power.EnhancedEstimates;
@@ -87,6 +88,7 @@ import dagger.multibindings.IntoSet;
* overridden by the System UI implementation. * overridden by the System UI implementation.
*/ */
@Module(includes = { @Module(includes = {
GestureModule.class,
PowerModule.class, PowerModule.class,
QSModule.class, QSModule.class,
VolumeModule.class, VolumeModule.class,