当前位置: 首页 > wzjs >正文

做电商网站有什么用百度怎样发布信息

做电商网站有什么用,百度怎样发布信息,如何申请开通网站,网站没有做伪静态是什么样子一、前言 通知栏添加截图要注意一个问题,就是截图的时候要关闭通知栏,不然就直接截图通知栏了,然后就没有意义了。 二、添加快捷开关 在下面的路径下添加开关,使用dagger注解注入即可。 lineageos/frameworks/base/packages/Sy…

一、前言

通知栏添加截图要注意一个问题,就是截图的时候要关闭通知栏,不然就直接截图通知栏了,然后就没有意义了。

二、添加快捷开关

在下面的路径下添加开关,使用dagger注解注入即可。
lineageos/frameworks/base/packages/SystemUI/src/com/android/systemui/qs/tiles/

/** Copyright (C) 2014 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.qs.tiles;import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.provider.MediaStore;
import android.service.quicksettings.Tile;import com.android.internal.logging.MetricsLogger;
import com.android.internal.util.ScreenshotHelper;
import com.android.systemui.animation.Expandable;
import com.android.systemui.dagger.qualifiers.Background;
import com.android.systemui.dagger.qualifiers.Main;
import com.android.systemui.plugins.ActivityStarter;
import com.android.systemui.plugins.FalsingManager;
import com.android.systemui.plugins.qs.QSTile;
import com.android.systemui.plugins.statusbar.StatusBarStateController;
import com.android.systemui.qs.QSHost;
import com.android.systemui.qs.QsEventLogger;
import com.android.systemui.qs.logging.QSLogger;
import com.android.systemui.qs.tileimpl.QSTileImpl;
import com.android.systemui.res.R;
import com.android.systemui.shade.NotificationPanelViewController;import javax.inject.Inject;import androidx.annotation.Nullable;
import dagger.Lazy;import static android.view.WindowManager.ScreenshotSource.SCREENSHOT_ACCESSIBILITY_ACTIONS;
import static com.android.systemui.res.R.string.quick_settings_flashlight_label;/*** Quick settings tile: Control flashlight**/
public class ScreenShotTile extends QSTileImpl<QSTile.State>  {public static final String TILE_SPEC = "screenshot";private final ScreenshotHelper mScreenshotHelper;private final Lazy<NotificationPanelViewController> mShadeViewControllerLazy;private boolean requestScreenShot=false;@Injectpublic ScreenShotTile(QSHost host,QsEventLogger uiEventLogger,@Background Looper backgroundLooper,@Main Handler mainHandler,FalsingManager falsingManager,MetricsLogger metricsLogger,StatusBarStateController statusBarStateController,ActivityStarter activityStarter,QSLogger qsLogger,Lazy<NotificationPanelViewController> shadeViewControllerLazy) {super(host, uiEventLogger, backgroundLooper, mainHandler, falsingManager, metricsLogger,statusBarStateController, activityStarter, qsLogger);mScreenshotHelper = new ScreenshotHelper(mContext);mShadeViewControllerLazy = shadeViewControllerLazy;mShadeViewControllerLazy.get().setIOnPannelExpandListener(() -> {if(requestScreenShot){mScreenshotHelper.takeScreenshot(SCREENSHOT_ACCESSIBILITY_ACTIONS, new Handler(Looper.getMainLooper()), uri -> {//do somethingrequestScreenShot=false;});}});}@Overrideprotected void handleDestroy() {super.handleDestroy();}@Overridepublic BooleanState newTileState() {BooleanState state = new BooleanState();state.handlesLongClick = false;return state;}@Overrideprotected void handleUserSwitch(int newUserId) {}@Overridepublic Intent getLongClickIntent() {return new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);}@Overridepublic boolean isAvailable() {return true;}@Overrideprotected void handleClick(@Nullable Expandable expandable) {mContext.getMainExecutor().execute(()->{requestScreenShot=true;mShadeViewControllerLazy.get().collapse(true,false /* delayed */, 1.0f );});}@Overrideprotected void handleUpdateState(State state, Object arg) {state.icon = ResourceIcon.get(R.drawable.qs_flashlight_icon_off);state.label="ScreenShot";state.stateDescription = mContext.getString(quick_settings_flashlight_label);state.secondaryLabel="";state.state= Tile.STATE_ACTIVE;}@Overridepublic CharSequence getTileLabel() {return "Screen shot";}@Overrideprotected void handleLongClick(@Nullable Expandable expandable) {handleClick(expandable);}@Overridepublic int getMetricsCategory() {return 0;}}

加上finishi方法的回调
lineageos/frameworks/base/packages/SystemUI/src/com/android/systemui/shade/NotificationPanelViewController.java

  IOnPannelExpandListener  mIOnPannelExpandListener=null;public void setIOnPannelExpandListener(IOnPannelExpandListener IOnPannelExpandListener) {mIOnPannelExpandListener = IOnPannelExpandListener;}public interface IOnPannelExpandListener{void onExpandingFinished();}private void onExpandingFinished() {if (!SceneContainerFlag.isEnabled()) {mNotificationStackScrollLayoutController.onExpansionStopped();}mHeadsUpManager.onExpandingFinished();mConversationNotificationManager.onNotificationPanelExpandStateChanged(isFullyCollapsed());mIsExpandingOrCollapsing = false;mMediaHierarchyManager.setCollapsingShadeFromQS(false);mMediaHierarchyManager.setQsExpanded(mQsController.getExpanded());if (isFullyCollapsed()) {//加上下面的通知代码if(mIOnPannelExpandListener!=null){mIOnPannelExpandListener.onExpandingFinished();}DejankUtils.postAfterTraversal(() -> setListening(false));// Workaround b/22639032: Make sure we invalidate something because else RenderThread// thinks we are actually drawing a frame put in reality we don't, so RT doesn't go// ahead with rendering and we jank.mView.postOnAnimation(() -> mView.getParent().invalidateChild(mView, M_DUMMY_DIRTY_RECT));} else {setListening(true);}if (mBarState != SHADE) {// TODO(b/277909752): remove below logs when bug is fixedmShadeLog.d("onExpandingFinished called");if (mSplitShadeEnabled && !mQsController.getExpanded()) {mShadeLog.d("onExpandingFinished called before QS got expanded");}// updating qsExpandImmediate is done in onPanelStateChanged for unlocked shade but// on keyguard panel state is always OPEN so we need to have that extra updatemQsController.setExpandImmediate(false);}setShowShelfOnly(false);mQsController.setTwoFingerExpandPossible(false);mShadeHeadsUpTracker.updateTrackingHeadsUp(null);mExpandingFromHeadsUp = false;setPanelScrimMinFraction(0.0f);// Reset status bar alpha so alpha can be calculated upon updating view state.setKeyguardStatusBarAlpha(-1f);}

开关配置,上面下面都要加自定义的
/media/arcxea/stat/lineageos/frameworks/base/packages/SystemUI/res/values/config.xml

<!-- The default tiles to display in QuickSettings --><string name="quick_settings_tiles_default" translatable="false">internet,bt,screenshot,flashlight,dnd,alarm,airplane,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,custom(com.android.permissioncontroller/.permission.service.v33.SafetyCenterQsTileService)</string><!-- Tiles native to System UI. Order should match "quick_settings_tiles_default" --><string name="quick_settings_tiles_stock" translatable="false">internet,screenshot,wifi,cell,bt,flashlight,dnd,alarm,airplane,nfc,controls,wallet,rotation,battery,cast,screenrecord,mictoggle,cameratoggle,location,hotspot,inversion,saver,dark,work,night,reverse,reduce_brightness,qr_code_scanner,onehanded,color_correction,dream,font_scaling,record_issue,hearing_devices,ambient_display,aod,caffeine,heads_up,powershare,profiles,reading_mode,sync,usb_tether,vpn</string>

接入dagger2的配置,照葫芦画瓢,参照其他的写就行了,这时候已经配置完成。

lineageos/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/PolicyModule.kt

/** Copyright (C) 2022 The Android Open Source Project** Licensed under the Apache License, Version 2.0 (the "License"); you may not use mHost 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.statusbar.policyimport android.hardware.SensorPrivacyManager.Sensors.CAMERA
import android.hardware.SensorPrivacyManager.Sensors.MICROPHONE
import android.os.UserManager.DISALLOW_CAMERA_TOGGLE
import android.os.UserManager.DISALLOW_CONFIG_LOCATION
import android.os.UserManager.DISALLOW_MICROPHONE_TOGGLE
import android.os.UserManager.DISALLOW_SHARE_LOCATION
import com.android.systemui.Flags
import com.android.systemui.modes.shared.ModesUi
import com.android.systemui.qs.QsEventLogger
import com.android.systemui.qs.pipeline.shared.TileSpec
import com.android.systemui.qs.shared.model.TileCategory
import com.android.systemui.qs.tileimpl.QSTileImpl
import com.android.systemui.qs.tiles.AlarmTile
import com.android.systemui.qs.tiles.CameraToggleTile
import com.android.systemui.qs.tiles.DndTile
import com.android.systemui.qs.tiles.FlashlightTile
import com.android.systemui.qs.tiles.LocationTile
import com.android.systemui.qs.tiles.MicrophoneToggleTile
import com.android.systemui.qs.tiles.ModesTile
import com.android.systemui.qs.tiles.ScreenShotTile
import com.android.systemui.qs.tiles.UiModeNightTile
import com.android.systemui.qs.tiles.WorkModeTile
import com.android.systemui.qs.tiles.base.interactor.QSTileAvailabilityInteractor
import com.android.systemui.qs.tiles.base.viewmodel.QSTileViewModelFactory
import com.android.systemui.qs.tiles.impl.alarm.domain.AlarmTileMapper
import com.android.systemui.qs.tiles.impl.alarm.domain.interactor.AlarmTileDataInteractor
import com.android.systemui.qs.tiles.impl.alarm.domain.interactor.AlarmTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.alarm.domain.model.AlarmTileModel
import com.android.systemui.qs.tiles.impl.flashlight.domain.FlashlightMapper
import com.android.systemui.qs.tiles.impl.flashlight.domain.interactor.FlashlightTileDataInteractor
import com.android.systemui.qs.tiles.impl.flashlight.domain.interactor.FlashlightTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.flashlight.domain.model.FlashlightTileModel
import com.android.systemui.qs.tiles.impl.location.domain.LocationTileMapper
import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileDataInteractor
import com.android.systemui.qs.tiles.impl.location.domain.interactor.LocationTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.location.domain.model.LocationTileModel
import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileDataInteractor
import com.android.systemui.qs.tiles.impl.modes.domain.interactor.ModesTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.modes.domain.model.ModesTileModel
import com.android.systemui.qs.tiles.impl.modes.ui.ModesTileMapper
import com.android.systemui.qs.tiles.impl.sensorprivacy.SensorPrivacyToggleTileDataInteractor
import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.SensorPrivacyToggleTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.sensorprivacy.domain.model.SensorPrivacyToggleTileModel
import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyTileResources
import com.android.systemui.qs.tiles.impl.sensorprivacy.ui.SensorPrivacyToggleTileMapper
import com.android.systemui.qs.tiles.impl.uimodenight.domain.UiModeNightTileMapper
import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileDataInteractor
import com.android.systemui.qs.tiles.impl.uimodenight.domain.interactor.UiModeNightTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.uimodenight.domain.model.UiModeNightTileModel
import com.android.systemui.qs.tiles.impl.work.domain.interactor.WorkModeTileDataInteractor
import com.android.systemui.qs.tiles.impl.work.domain.interactor.WorkModeTileUserActionInteractor
import com.android.systemui.qs.tiles.impl.work.domain.model.WorkModeTileModel
import com.android.systemui.qs.tiles.impl.work.ui.WorkModeTileMapper
import com.android.systemui.qs.tiles.viewmodel.QSTileConfig
import com.android.systemui.qs.tiles.viewmodel.QSTilePolicy
import com.android.systemui.qs.tiles.viewmodel.QSTileUIConfig
import com.android.systemui.qs.tiles.viewmodel.QSTileViewModel
import com.android.systemui.qs.tiles.viewmodel.StubQSTileViewModel
import com.android.systemui.res.R
import dagger.Binds
import dagger.Module
import dagger.Provides
import dagger.multibindings.IntoMap
import dagger.multibindings.StringKey
import javax.inject.Provider@Module
interface PolicyModule {/** Inject WorkModeTile into tileMap in QSModule */@Binds@IntoMap@StringKey(WorkModeTile.TILE_SPEC)fun bindWorkModeTile(workModeTile: WorkModeTile): QSTileImpl<*>@Binds@IntoMap@StringKey(FLASHLIGHT_TILE_SPEC)fun provideAirplaneModeAvailabilityInteractor(impl: FlashlightTileDataInteractor): QSTileAvailabilityInteractor@Binds@IntoMap@StringKey(LOCATION_TILE_SPEC)fun provideLocationAvailabilityInteractor(impl: LocationTileDataInteractor): QSTileAvailabilityInteractor@Binds@IntoMap@StringKey(ALARM_TILE_SPEC)fun provideAlarmAvailabilityInteractor(impl: AlarmTileDataInteractor): QSTileAvailabilityInteractor@Binds@IntoMap@StringKey(UIMODENIGHT_TILE_SPEC)fun provideUiModeNightAvailabilityInteractor(impl: UiModeNightTileDataInteractor): QSTileAvailabilityInteractor@Binds@IntoMap@StringKey(WORK_MODE_TILE_SPEC)fun provideWorkModeAvailabilityInteractor(impl: WorkModeTileDataInteractor): QSTileAvailabilityInteractorcompanion object {const val FLASHLIGHT_TILE_SPEC = "flashlight"const val LOCATION_TILE_SPEC = "location"const val ALARM_TILE_SPEC = "alarm"const val UIMODENIGHT_TILE_SPEC = "dark"const val WORK_MODE_TILE_SPEC = "work"const val CAMERA_TOGGLE_TILE_SPEC = "cameratoggle"const val MIC_TOGGLE_TILE_SPEC = "mictoggle"const val DND_TILE_SPEC = "dnd"const val SCREENSHOT_TILE_SPEC = "screenshot"/** Inject screenshot config */@Provides@IntoMap@StringKey(SCREENSHOT_TILE_SPEC)fun provideScreenShotTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(SCREENSHOT_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_flashlight_icon_off,labelRes = R.string.quick_settings_flashlight_label,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.UTILITIES,)/** Inject ScreenShotTile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(SCREENSHOT_TILE_SPEC)fun provideScreenShotTileViewModel(factory: QSTileViewModelFactory.Static<FlashlightTileModel>,mapper: FlashlightMapper,stateInteractor: FlashlightTileDataInteractor,userActionInteractor: FlashlightTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(SCREENSHOT_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject DndTile or ModesTile into tileMap in QSModule based on feature flag */@Provides@IntoMap@StringKey(DND_TILE_SPEC)fun bindDndOrModesTile(// Using providers to make sure that the unused tile isn't initialised at all if the// flag is off.dndTile: Provider<DndTile>,modesTile: Provider<ModesTile>,): QSTileImpl<*> {return if (ModesUi.isEnabled) modesTile.get() else dndTile.get()}/** Inject flashlight config */@Provides@IntoMap@StringKey(FLASHLIGHT_TILE_SPEC)fun provideFlashlightTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(FLASHLIGHT_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_flashlight_icon_off,labelRes = R.string.quick_settings_flashlight_label,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.UTILITIES,)/** Inject FlashlightTile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(FLASHLIGHT_TILE_SPEC)fun provideFlashlightTileViewModel(factory: QSTileViewModelFactory.Static<FlashlightTileModel>,mapper: FlashlightMapper,stateInteractor: FlashlightTileDataInteractor,userActionInteractor: FlashlightTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(FLASHLIGHT_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject location config */@Provides@IntoMap@StringKey(LOCATION_TILE_SPEC)fun provideLocationTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(LOCATION_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_location_icon_off,labelRes = R.string.quick_settings_location_label,),instanceId = uiEventLogger.getNewInstanceId(),policy =QSTilePolicy.Restricted(listOf(DISALLOW_SHARE_LOCATION, DISALLOW_CONFIG_LOCATION)),category = TileCategory.PRIVACY,)/** Inject LocationTile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(LOCATION_TILE_SPEC)fun provideLocationTileViewModel(factory: QSTileViewModelFactory.Static<LocationTileModel>,mapper: LocationTileMapper,stateInteractor: LocationTileDataInteractor,userActionInteractor: LocationTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(LOCATION_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject alarm config */@Provides@IntoMap@StringKey(ALARM_TILE_SPEC)fun provideAlarmTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(ALARM_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.ic_alarm,labelRes = R.string.status_bar_alarm,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.UTILITIES,)/** Inject AlarmTile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(ALARM_TILE_SPEC)fun provideAlarmTileViewModel(factory: QSTileViewModelFactory.Static<AlarmTileModel>,mapper: AlarmTileMapper,stateInteractor: AlarmTileDataInteractor,userActionInteractor: AlarmTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(ALARM_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject uimodenight config */@Provides@IntoMap@StringKey(UIMODENIGHT_TILE_SPEC)fun provideUiModeNightTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(UIMODENIGHT_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_light_dark_theme_icon_off,labelRes = R.string.quick_settings_ui_mode_night_label,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.DISPLAY,)/** Inject uimodenight into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(UIMODENIGHT_TILE_SPEC)fun provideUiModeNightTileViewModel(factory: QSTileViewModelFactory.Static<UiModeNightTileModel>,mapper: UiModeNightTileMapper,stateInteractor: UiModeNightTileDataInteractor,userActionInteractor: UiModeNightTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(UIMODENIGHT_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject work mode tile config */@Provides@IntoMap@StringKey(WORK_MODE_TILE_SPEC)fun provideWorkModeTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(WORK_MODE_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = com.android.internal.R.drawable.stat_sys_managed_profile_status,labelRes = R.string.quick_settings_work_mode_label,),instanceId = uiEventLogger.getNewInstanceId(),autoRemoveOnUnavailable = false,category = TileCategory.PRIVACY,)/** Inject work mode into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(WORK_MODE_TILE_SPEC)fun provideWorkModeTileViewModel(factory: QSTileViewModelFactory.Static<WorkModeTileModel>,mapper: WorkModeTileMapper,stateInteractor: WorkModeTileDataInteractor,userActionInteractor: WorkModeTileUserActionInteractor,): QSTileViewModel =factory.create(TileSpec.create(WORK_MODE_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)/** Inject camera toggle config */@Provides@IntoMap@StringKey(CAMERA_TOGGLE_TILE_SPEC)fun provideCameraToggleTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(CAMERA_TOGGLE_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_camera_access_icon_off,labelRes = R.string.quick_settings_camera_label,),instanceId = uiEventLogger.getNewInstanceId(),policy = QSTilePolicy.Restricted(listOf(DISALLOW_CAMERA_TOGGLE)),category = TileCategory.PRIVACY,)/** Inject camera toggle tile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(CAMERA_TOGGLE_TILE_SPEC)fun provideCameraToggleTileViewModel(factory: QSTileViewModelFactory.Static<SensorPrivacyToggleTileModel>,mapper: SensorPrivacyToggleTileMapper.Factory,stateInteractor: SensorPrivacyToggleTileDataInteractor.Factory,userActionInteractor: SensorPrivacyToggleTileUserActionInteractor.Factory,): QSTileViewModel =factory.create(TileSpec.create(CAMERA_TOGGLE_TILE_SPEC),userActionInteractor.create(CAMERA),stateInteractor.create(CAMERA),mapper.create(SensorPrivacyTileResources.CameraPrivacyTileResources),)@Provides@IntoMap@StringKey(CAMERA_TOGGLE_TILE_SPEC)fun provideCameraToggleAvailabilityInteractor(factory: SensorPrivacyToggleTileDataInteractor.Factory): QSTileAvailabilityInteractor {return factory.create(CAMERA)}/** Inject microphone toggle config */@Provides@IntoMap@StringKey(MIC_TOGGLE_TILE_SPEC)fun provideMicrophoneToggleTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =QSTileConfig(tileSpec = TileSpec.create(MIC_TOGGLE_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_mic_access_off,labelRes = R.string.quick_settings_mic_label,),instanceId = uiEventLogger.getNewInstanceId(),policy = QSTilePolicy.Restricted(listOf(DISALLOW_MICROPHONE_TOGGLE)),category = TileCategory.PRIVACY,)/** Inject microphone toggle tile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(MIC_TOGGLE_TILE_SPEC)fun provideMicrophoneToggleTileViewModel(factory: QSTileViewModelFactory.Static<SensorPrivacyToggleTileModel>,mapper: SensorPrivacyToggleTileMapper.Factory,stateInteractor: SensorPrivacyToggleTileDataInteractor.Factory,userActionInteractor: SensorPrivacyToggleTileUserActionInteractor.Factory,): QSTileViewModel =factory.create(TileSpec.create(MIC_TOGGLE_TILE_SPEC),userActionInteractor.create(MICROPHONE),stateInteractor.create(MICROPHONE),mapper.create(SensorPrivacyTileResources.MicrophonePrivacyTileResources),)@Provides@IntoMap@StringKey(MIC_TOGGLE_TILE_SPEC)fun provideMicToggleModeAvailabilityInteractor(factory: SensorPrivacyToggleTileDataInteractor.Factory): QSTileAvailabilityInteractor {return factory.create(MICROPHONE)}/** Inject DND tile or Modes tile config based on feature flag */@Provides@IntoMap@StringKey(DND_TILE_SPEC)fun provideDndOrModesTileConfig(uiEventLogger: QsEventLogger): QSTileConfig =if (ModesUi.isEnabled) {QSTileConfig(tileSpec = TileSpec.create(DND_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = com.android.internal.R.drawable.ic_zen_priority_modes,labelRes = R.string.quick_settings_modes_label,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.CONNECTIVITY,)} else {QSTileConfig(tileSpec = TileSpec.create(DND_TILE_SPEC),uiConfig =QSTileUIConfig.Resource(iconRes = R.drawable.qs_dnd_icon_off,labelRes = R.string.quick_settings_dnd_label,),instanceId = uiEventLogger.getNewInstanceId(),category = TileCategory.CONNECTIVITY,)}/** Inject ModesTile into tileViewModelMap in QSModule */@Provides@IntoMap@StringKey(DND_TILE_SPEC)fun provideModesTileViewModel(factory: QSTileViewModelFactory.Static<ModesTileModel>,mapper: ModesTileMapper,stateInteractor: ModesTileDataInteractor,userActionInteractor: ModesTileUserActionInteractor,): QSTileViewModel =if (ModesUi.isEnabled && Flags.qsNewTilesFuture())factory.create(TileSpec.create(DND_TILE_SPEC),userActionInteractor,stateInteractor,mapper,)else StubQSTileViewModel}/** Inject FlashlightTile into tileMap in QSModule */@Binds@IntoMap@StringKey(FlashlightTile.TILE_SPEC)fun bindFlashlightTile(flashlightTile: FlashlightTile): QSTileImpl<*>/** Inject ScreenShotTile into tileMap in QSModule */@Binds@IntoMap@StringKey(ScreenShotTile.TILE_SPEC)fun bindScreenShotTile(screenShot: ScreenShotTile): QSTileImpl<*>/** Inject LocationTile into tileMap in QSModule */@Binds@IntoMap@StringKey(LocationTile.TILE_SPEC)fun bindLocationTile(locationTile: LocationTile): QSTileImpl<*>/** Inject CameraToggleTile into tileMap in QSModule */@Binds@IntoMap@StringKey(CameraToggleTile.TILE_SPEC)fun bindCameraToggleTile(cameraToggleTile: CameraToggleTile): QSTileImpl<*>/** Inject MicrophoneToggleTile into tileMap in QSModule */@Binds@IntoMap@StringKey(MicrophoneToggleTile.TILE_SPEC)fun bindMicrophoneToggleTile(microphoneToggleTile: MicrophoneToggleTile): QSTileImpl<*>/** Inject AlarmTile into tileMap in QSModule */@Binds@IntoMap@StringKey(AlarmTile.TILE_SPEC)fun bindAlarmTile(alarmTile: AlarmTile): QSTileImpl<*>@Binds@IntoMap@StringKey(UiModeNightTile.TILE_SPEC)fun bindUiModeNightTile(uiModeNightTile: UiModeNightTile): QSTileImpl<*>
}

编译导入,然后杀掉systemui的进程即可

make SystemUI;adb push out/target/product/blueline/system_ext/priv-app/SystemUI/SystemUI.apk /system_ext/priv-app/SystemUI/SystemUI.apk

在这里插入图片描述

http://www.dtcms.com/wzjs/236101.html

相关文章:

  • 用dw做音乐网站2022年度最火关键词
  • 做软件赚钱还是做网站赚钱成都新一轮疫情
  • 哪些企业网站做得好搜狗推广管家
  • 17网站一起做网店档口出租百度风云榜电视剧排行榜
  • 秦皇岛黄金海岸介绍seo排名系统
  • 微信网站建设价格信息检索关键词提取方法
  • 赤峰住房城乡建设部网站深圳网络营销策划公司
  • 商检局做产地证的网站百度seo优化培训
  • 手机移动端网站网络广告公司
  • 寿光网站制作谷歌seo营销
  • 做科技汽车的视频网站有哪些短视频seo营销系统
  • wordpress+3.2.1漏洞东莞seo整站优化火速
  • 可靠的南京网站建设象山关键词seo排名
  • html做简单网站实例企业推广网络营销
  • 做淘客网站需要备案吗网络营销成功的案例分析
  • 中小企业网站营销上海最新新闻
  • 西安网站优化万网域名注册官网查询
  • 网站闭关保护怎么做百度关键词竞价
  • 做论坛网站 备案企业网络营销策略分析
  • 保险网站建设的目标做一个企业网站需要多少钱
  • ftp网站上传成功后怎么做青岛网站建设推广公司
  • 网站怎么做才能将名声打响海外短视频跨境电商平台是真的吗
  • 鱼台做网站多少钱在哪里推广比较好
  • 建设网站需要哪些素材百度平台客服人工电话
  • 网站框架设计产品线上推广方案
  • 建站行业都扁平化设计百度人工电话
  • 解除网站被拦截的方法北京口碑最好的教育机构
  • 做网站的人 优帮云seo整站优化多少钱
  • 今日拉萨重大新闻代做seo关键词排名
  • 网站怎么做跳转页面西安seo引擎搜索优化