Merge "Remove #createBackGestureTfClassifierProvider from SystemUIFactory"

This commit is contained in:
Dave Mankoff
2022-06-17 13:28:18 +00:00
committed by Android (Google) Code Review
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.content.Context;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.os.Handler;
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.SysUIComponent;
import com.android.systemui.dagger.WMComponent;
import com.android.systemui.navigationbar.gestural.BackGestureTfClassifierProvider;
import com.android.systemui.screenshot.ScreenshotNotificationSmartActionsProvider;
import com.android.wm.shell.dagger.WMShellConcurrencyModule;
import com.android.wm.shell.transition.ShellTransitions;
@@ -251,13 +249,4 @@ public class SystemUIFactory {
Context context, Executor executor, Handler uiHandler) {
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.PackageManager;
import android.content.pm.ShortcutManager;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.hardware.SensorManager;
import android.hardware.SensorPrivacyManager;
@@ -89,6 +90,7 @@ import com.android.internal.jank.InteractionJankMonitor;
import com.android.internal.statusbar.IStatusBarService;
import com.android.internal.util.LatencyTracker;
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.Main;
import com.android.systemui.dagger.qualifiers.TestHarness;
@@ -395,6 +397,12 @@ public class FrameworkServicesModule {
return context.getResources();
}
@Provides
@Application
static AssetManager provideAssetManager(@Application Context context) {
return context.getAssets();
}
@Provides
@Singleton
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.doze.DozeHost;
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.statusbar.StatusBarStateController;
import com.android.systemui.power.EnhancedEstimates;
@@ -94,6 +95,7 @@ import dagger.Provides;
* SystemUI code that variants of SystemUI _must_ include to function correctly.
*/
@Module(includes = {
GestureModule.class,
MediaModule.class,
PowerModule.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.util.LatencyTracker;
import com.android.systemui.R;
import com.android.systemui.SystemUIFactory;
import com.android.systemui.broadcast.BroadcastDispatcher;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.flags.FeatureFlags;
@@ -93,6 +92,7 @@ import java.util.Map;
import java.util.concurrent.Executor;
import javax.inject.Inject;
import javax.inject.Provider;
/**
* 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 mUnrestrictedExcludeRegion = new Region();
private final LatencyTracker mLatencyTracker;
private final Provider<BackGestureTfClassifierProvider>
mBackGestureTfClassifierProviderProvider;
private final FeatureFlags mFeatureFlags;
// The left side edge width where touch down is allowed
@@ -318,6 +320,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
IWindowManager windowManagerService,
FalsingManager falsingManager,
LatencyTracker latencyTracker,
Provider<BackGestureTfClassifierProvider> backGestureTfClassifierProviderProvider,
FeatureFlags featureFlags) {
super(broadcastDispatcher);
mContext = context;
@@ -334,6 +337,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService = windowManagerService;
mFalsingManager = falsingManager;
mLatencyTracker = latencyTracker;
mBackGestureTfClassifierProviderProvider = backGestureTfClassifierProviderProvider;
mFeatureFlags = featureFlags;
ComponentName recentsComponentName = ComponentName.unflattenFromString(
context.getString(com.android.internal.R.string.config_recentsComponentName));
@@ -610,10 +614,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
}
if (newState) {
String mlModelName = DeviceConfig.getString(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_NAME, "backgesture");
mBackGestureTfClassifierProvider = SystemUIFactory.getInstance()
.createBackGestureTfClassifierProvider(mContext.getAssets(), mlModelName);
mBackGestureTfClassifierProvider = mBackGestureTfClassifierProviderProvider.get();
mMLModelThreshold = DeviceConfig.getFloat(DeviceConfig.NAMESPACE_SYSTEMUI,
SystemUiDeviceConfigFlags.BACK_GESTURE_ML_MODEL_THRESHOLD, 0.9f);
if (mBackGestureTfClassifierProvider.isActive()) {
@@ -1004,6 +1005,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
private final IWindowManager mWindowManagerService;
private final FalsingManager mFalsingManager;
private final LatencyTracker mLatencyTracker;
private final Provider<BackGestureTfClassifierProvider>
mBackGestureTfClassifierProviderProvider;
private final FeatureFlags mFeatureFlags;
@Inject
@@ -1020,6 +1023,8 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
IWindowManager windowManagerService,
FalsingManager falsingManager,
LatencyTracker latencyTracker,
Provider<BackGestureTfClassifierProvider>
backGestureTfClassifierProviderProvider,
FeatureFlags featureFlags) {
mOverviewProxyService = overviewProxyService;
mSysUiState = sysUiState;
@@ -1034,6 +1039,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService = windowManagerService;
mFalsingManager = falsingManager;
mLatencyTracker = latencyTracker;
mBackGestureTfClassifierProviderProvider = backGestureTfClassifierProviderProvider;
mFeatureFlags = featureFlags;
}
@@ -1054,6 +1060,7 @@ public class EdgeBackGestureHandler extends CurrentUserTracker
mWindowManagerService,
mFalsingManager,
mLatencyTracker,
mBackGestureTfClassifierProviderProvider,
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.DockManagerImpl;
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.statusbar.StatusBarStateController;
import com.android.systemui.power.EnhancedEstimates;
@@ -87,6 +88,7 @@ import dagger.multibindings.IntoSet;
* overridden by the System UI implementation.
*/
@Module(includes = {
GestureModule.class,
PowerModule.class,
QSModule.class,
VolumeModule.class,