samsung editing assets что это
Samsung представила 4 новых приложения для оптимизации Android-смартфонов
Чистка, отладка, откат — все эти манипуляции хорошо знакомы большинству пользователей Android, которые вынуждены время от времени проводить их, чтобы заставить свои смартфоны работать быстрее и дольше. Конечно, в первые полгода-год устройства на базе «зелёного робота» пытаются казаться нормальными и работают вполне исправно, но потом начинается настоящий треш: самопроизвольные перезагрузки, медленный запуск приложений и повышенный расход энергии. Поэтому Samsung взяла, да и выпустила новые утилиты для оптимизации своих смартфонов.
Samsung хочет сделать свои смартфоны лучше. Поэтому выпустила для них 4 новых приложения
Samsung представила набор из четырёх приложений-помощников в рамках программы Galaxy Labs. Каждое из них имеет узкое предназначение, отвечая за чистку памяти, повышение скорости запуска приложений, увеличение автономности и слежение за качеством работы аккумулятора. Они помогут пользователям фирменных смартфонов компании — даже тех, что уже перестали получать свежие обновления Android, — работать лучше, чем они работали до этого, отслеживая и останавливая ресурсоёмкие процессы. Вот они:
Приложения для оптимизации смартфонов
Читайте также: Samsung оснастила Galaxy S10 эксклюзивной функцией iPhone 11
Battery Guardian проконтролирует, какие приложения работают в фоне и потребляют много ресурсов аккумулятора
Несмотря на то что Battery Guardian и App Booster, кажется, имеют разное предназначение, по сути, работают очень похожим образом. Они проверяют, включена ли функция управления приложениями, препятствуя фоновому выполнению ресурсоёмких задач, которые могут приводить к преждевременной разрядке аккумулятора и замедлять работу смартфона, расходуя больше ресурсов, чем им требуется для функционирования в обычном режиме.
Как вычислить приложения, разряжающие смартфон
Battery Tracker проследит, какие приложения расходуют больше всего энергии
Battery Tracker действует как и штатный инструмент Android для отслеживания процессов, оказывающих наибольшую нагрузку на аккумулятор. Он следит, какие приложения расходуют больше всего энергии, формирует сводку и представляет вам подробный отчёт за прошедшие сутки или неделю. Таким образом можно составить вполне чёткое представление о наиболее ресурсоёмких программах и решить, какие из них следует использовать реже или вовсе стоит заменить другими, более энергоэффективными.
File Guardian — продвинутый файловый менеджер для Android от Samsung
File Guardian, пожалуй, является наиболее полезным приложением из этого списка. Вопреки названию, оно не защищает вас от вредоносных файлов из интернета, поскольку является, по сути, файловым менеджером. Благодаря File Guardian вы сможете не только удалять файловый мусор из памяти своего устройства, фильтруя его по нескольким параметрам, но и восстанавливать удалённые данные. При этом неважно, что это будет – APK-файл приложения, который вы недавно скачали и случайно удалили, или фотография, сделанная в отпуске, но удалённая из-за недостатка памяти. Правда, будет ли File Guardian работать с файлами, которые были стёрты до его установки, непонятно.
Как получить функции Android 10 на старых смартфонах
Глядя на эти приложения, создаётся впечатление, что Samsung банально было нечего делать, а потому она решила вычленить из прошивки One UI 2.0 четыре не самых полезных утилиты. Однако при ближайшем рассмотрении начинаешь понимать, что это было хорошей идеей, поскольку теперь воспользоваться их функциональностью смогут не только владельцы флагманских смартфонов с поддержкой Android 10, но и более старых моделей, которым обновление до актуальной версии операционной системы не светит ни в ближайшее время, ни в отдалённой перспективе.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Вспомните, сколько разговоров было в октябре прошлого года, когда компания Apple решила отказаться от адаптеров питания в комплекте с новыми iPhone? Это относилось не только к текущим, но и всем последующим моделям телефона. Все говорили, что Apple зашла в тупик со своей жадность, пожалев копеечный аксессуар для телефона за полторы тысячи долларов. Вот только похоже, что Apple в очередной раз стала провидцем и первой сделала то, чего хотели, но боялись остальные производители. Так правда ли, что теперь все телефоны будут продаваться без комплекта поставки? В конце концов, примеров все больше и больше.
Аккумулятор – это единственный компонент в вашем смартфоне, который является расходным материалом. Это значит, что в процессе эксплуатации он изнашивается, а значит, его практически наверняка будет нужно заменить. Когда именно – вопрос другой. Ответ на него зависит от множества факторов вроде длительности использования, периодичности зарядки и общей выносливости аккумуляторного блока. Отследить их самостоятельно практически невозможно, поэтому большинство ориентируются только на косвенные признаки, но я расскажу, как понять, что батарею пора менять.
Скачал по ссылке battery tracker а он установился,но найти его я не могу как приложение. В чем дело? Надо ставить что-то еще?
Samsung editing assets что это
Добавить по пути efs в файл factory.prop строку
ro.security.vaultkeeper.feature=0
сохранить и перезагрузить
Любая официальная прошивка через odin и
никаких манипуляций с переводом времени,
не нужно ждать 7 дней, сразу можно ставить TWRP,
в режиме разработчика OEM (Заводская разблокировка)
будет включен всегда. Никакого слова Prenormal в режиме Прошивка.
P.S. при переходе с одной версии андроида на новую
ркомендую удалить эту строку и после обновления обратно прописать!
В 11м андроиде менять через проводник TWRP
Модель Samsung Galaxy Note 4, прошивка кастомная(порт от Note 7), андроид 6.0.1
++++# static fields
.field private static mGearContext:Landroid/content/Context;++++
# instance fields
.
.
++++.method public static getContext()Landroid/content/Context;
.locals 1
sget-object v0, Lcom/android/systemui/SystemUIApplication;->mGearContext:Landroid/content/Context;
return-object v0
.end method++++
.method private isConfigChanged(Landroid/content/res/Configuration;)Z
.
.
.method public onCreate()V
.
invoke-virtual
++++ sput-object p0, Lcom/android/systemui/SystemUIApplication;->mGearContext:Landroid/content/Context;++++
.method private updateBackgroundColors()V
.locals 5
.line 384
iget-object v0, p0, Landroid/widget/LinearLayout;->mContext:Landroid/content/Context;
const-string v2, «am_ubcsu»
:cond_0
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on:I
:cond_1
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on_b:I
:cond_2
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on_g:I
:cond_3
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on_o:I
:cond_4
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on_r:I
:cond_5
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_on_s:I
:goto_0
invoke-virtual
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
.line 385
iget-object v0, p0, Landroid/widget/LinearLayout;->mContext:Landroid/content/Context;
const-string v2, «am_ubcsu»
:cond_6
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off:I
:cond_7
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off_b:I
:cond_8
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off_g:I
:cond_9
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off_o:I
:cond_a
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off_r:I
:cond_b
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_off_s:I
:goto_1
invoke-virtual
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorDisabled:I
.line 386
iget-object v0, p0, Landroid/widget/LinearLayout;->mContext:Landroid/content/Context;
const-string v2, «am_ubcsu»
if-eq v2, v4, :cond_10
if-eq v2, v4, :cond_11
:cond_c
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim:I
:cond_d
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_b:I
:cond_e
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_g:I
:cond_f
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_o:I
:cond_10
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_r:I
:cond_11
sget v1, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_s:I
:goto_2
invoke-virtual
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorInactive:I
.method public updateResources()V
.locals 6
.line 485
iget-object v0, p0, Lcom/android/systemui/settings/ToggleSliderView;->mSlider:Lcom/android/systemui/settings/ToggleSeekBar;
.line 486
iget-object v0, p0, Lcom/android/systemui/settings/ToggleSliderView;->mSlider:Lcom/android/systemui/settings/ToggleSeekBar;
iget-object v1, p0, Lcom/android/systemui/settings/ToggleSliderView;->mContext:Landroid/content/Context;
const-string v3, «am_ubcsu»
:cond_0
sget v2, Lcom/android/systemui/R$color;->tw_progress_color_control_normal:I
:cond_1
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_b:I
:cond_2
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_g:I
:cond_3
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_o:I
:cond_4
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_r:I
:cond_5
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_dim_s:I
:goto_0
invoke-virtual
.line 487
iget-object v0, p0, Lcom/android/systemui/settings/ToggleSliderView;->mSlider:Lcom/android/systemui/settings/ToggleSeekBar;
iget-object v1, p0, Lcom/android/systemui/settings/ToggleSliderView;->mContext:Landroid/content/Context;
const-string v3, «am_ubcsu»
:cond_6
sget v2, Lcom/android/systemui/R$color;->tw_progress_color_control_activated:I
:cond_7
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_b:I
:cond_8
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_g:I
:cond_9
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_o:I
:cond_a
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_r:I
:cond_b
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_s:I
:goto_1
invoke-virtual
.line 488
iget-object v0, p0, Lcom/android/systemui/settings/ToggleSliderView;->mSlider:Lcom/android/systemui/settings/ToggleSeekBar;
iget-object v1, p0, Lcom/android/systemui/settings/ToggleSliderView;->mContext:Landroid/content/Context;
const-string v3, «am_ubcsu»
if-eq v3, v5, :cond_10
if-eq v3, v5, :cond_11
:cond_c
sget v2, Lcom/android/systemui/R$color;->tw_progress_color_control_activated_thumb:I
:cond_d
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_b:I
:cond_e
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_g:I
:cond_f
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_o:I
:cond_10
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_r:I
:cond_11
sget v2, Lcom/android/systemui/R$color;->qs_tile_round_background_on_s:I
:goto_2
invoke-virtual
.line 490
invoke-direct
.method public getNotificationNormalBgColor(I)I
.locals 5
.line 105
:cond_0
iget-object p0, p0, Lcom/android/systemui/noticolorpicker/NotificationColorPicker;->mContext:Landroid/content/Context;
sget p1, Lcom/android/systemui/R$color;->notification_material_background_dimmed_color:I
.line 102
:cond_1
iget-object p0, p0, Lcom/android/systemui/noticolorpicker/NotificationColorPicker;->mContext:Landroid/content/Context;
const-string v2, «am_ubcsu»
:cond_2
sget p1, Lcom/android/systemui/R$color;->notification_material_background_color:I
:cond_3
sget p1, Lcom/android/systemui/R$color;->qs_tile_round_background_n_b:I
:cond_4
sget p1, Lcom/android/systemui/R$color;->qs_tile_round_background_n_g:I
:cond_5
sget p1, Lcom/android/systemui/R$color;->qs_tile_round_background_n_o:I
:cond_6
sget p1, Lcom/android/systemui/R$color;->qs_tile_round_background_n_r:I
:cond_7
sget p1, Lcom/android/systemui/R$color;->qs_tile_round_background_n_s:I
:goto_0
invoke-virtual
:goto_1
return p0
.end method
Алексей может действительно не смотрел скрин? 🙂
Там разные скрины. DPI 560 в обоих скринах но, на втором полоски есть под значки.)
Если уменьшить DPI до 500, тогда более норм(как на втором скрине). Чуток пробелы есть. :yes:
Добавлено 20.03.2021, 16:31:
alexega, полоски эти надо найти и обнулить либо в лайотах, либо где размер, скорее всего в лайотах ищи по id (если их красит ром контроль, то и путь найдёшь)
Устройство : Samsung S10+
Версия Андроид : Андроид 11
Прошивка : One UI 3.0-3.1
1. Скачиваем приложенный архив и размещаем файлы из архива в декомпилированном SystemUI. Некоторые смали из архива подкорректированы для использования с Андроид 11.SystemUI_Guide_FonToggles_20_03.rar ( 849.56 КБ )
3. В SystemUI/smali/com/android/systemui/qs/tileimpl/QSTileBaseView.smali добавляем в # instance fields:
.field private mGrxManageImageViews:Z
.field private final mGrxPredDim:Landroid/widget/ImageView;
.field private final mGrxPredOff:Landroid/widget/ImageView;
.field private final mGrxPredOn:Landroid/widget/ImageView;
.field private mGrxTintCircle:Z
— в методе .method public constructor (Landroid/content/Context;Lcom/android/systemui/plugins/qs/QSIconView;Z)V добавляем строку:
.method public constructor (Landroid/content/Context;Lcom/android/systemui/plugins/qs/QSIconView;Z)V
.locals 3
invoke-direct
new-instance p3, Lcom/android/systemui/qs/tileimpl/QSTileBaseView$H;
invoke-direct
iput-object p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mHandler:Lcom/android/systemui/qs/tileimpl/QSTileBaseView$H;
iput-object p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mLocInScreen:[I
sget v0, Lcom/android/systemui/R$dimen;->qs_quick_tile_padding:I
new-instance p3, Landroid/widget/FrameLayout;
invoke-direct
iput-object p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
const v0, 0x10500b6
iput p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mStrokeWidthActive:F
const v0, 0x10500b7
iput p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mStrokeWidthInactive:F
sget v0, Lcom/android/systemui/R$dimen;->sec_style_qs_tile_icon_size:I
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
new-instance v1, Landroid/widget/LinearLayout$LayoutParams;
invoke-direct
new-instance p3, Landroid/widget/ImageView;
invoke-direct
iput-object p3, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
new-instance p3, Landroid/graphics/drawable/shapes/OvalShape;
invoke-direct
new-instance v0, Landroid/graphics/drawable/ShapeDrawable;
invoke-direct
sget v1, Lcom/android/systemui/R$dimen;->sec_style_qs_tile_background_size:I
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
new-instance v0, Landroid/widget/FrameLayout$LayoutParams;
invoke-direct
iget-object p1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
iget-object p1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
iput-object p2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIcon:Lcom/android/systemui/plugins/qs/QSIconView;
new-instance p1, Landroid/widget/FrameLayout$LayoutParams;
invoke-direct
iget-object p2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIcon:Lcom/android/systemui/plugins/qs/QSIconView;
iget-object p1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object p1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iput-object p1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mTileBackground:Landroid/graphics/drawable/Drawable;
instance-of p2, p1, Landroid/graphics/drawable/RippleDrawable;
check-cast p1, Landroid/graphics/drawable/RippleDrawable;
:cond_0
const/4 p1, 0x1
iget-object p2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIcon:Lcom/android/systemui/plugins/qs/QSIconView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mTileBackground:Landroid/graphics/drawable/Drawable;
iget-object p2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIcon:Lcom/android/systemui/plugins/qs/QSIconView;
— метод .method protected getCircleColor(I)I меняем на следующий:
.method protected getCircleColor(I)I
.locals 3
packed-switch p1, :pswitch_data_0
const-string v0, «QSTileBaseView»
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct
const-string v2, «Invalid state «
:pswitch_0
sget-boolean v0, Lcom/mods/sac/SacSettings;->sTileColorsEnabled:Z
sget v0, Lcom/mods/sac/SacSettings;->sTileCircleColorOn:I
:cond_0
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
:pswitch_1
sget-boolean v0, Lcom/mods/sac/SacSettings;->sTileColorsEnabled:Z
sget v0, Lcom/mods/sac/SacSettings;->sTileCircleColorOff:I
:cond_1
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorDisabled:I
:pswitch_2
sget-boolean v0, Lcom/mods/sac/SacSettings;->sTileColorsEnabled:Z
sget v0, Lcom/mods/sac/SacSettings;->sTileCircleColorDim:I
:cond_2
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorInactive:I
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method protected handleStateChanged(Lcom/android/systemui/plugins/qs/QSTile$State;)V
.locals 8
+++iget-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxTintCircle:Z
if-eqz v0, :cond_next
iget v0, p1, Lcom/android/systemui/plugins/qs/QSTile$State;->state:I
:cond_next
iget-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxManageImageViews:Z
if-eqz v0, :cond_next1
iget v0, p1, Lcom/android/systemui/plugins/qs/QSTile$State;->state:I
:cond_next1+++
invoke-direct
iget v0, p1, Lcom/android/systemui/plugins/qs/QSTile$State;->state:I
iget v2, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mCircleColor:I
.
— в конце смали добавляем методы:
.method public grxGetNewImageView()Landroid/widget/ImageView;
.locals 2
new-instance v0, Landroid/widget/ImageView;
invoke-direct
sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
return-object v0
.end method
.method public grxGetPredefinedImageView(I)Landroid/widget/ImageView;
.locals 2
new-instance v0, Landroid/widget/ImageView;
invoke-direct
sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
:cond_0
return-object v0
.end method
.method public grxSetCircleColor(I)V
.locals 2
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
packed-switch p1, :pswitch_data_0
:goto_0
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
:pswitch_0
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
:pswitch_1
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorDisabled:I
:pswitch_2
iget v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorInactive:I
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
.method public grxSetTileBackground()V
.locals 3
iput-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxTintCircle:Z
iput-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxManageImageViews:Z
sget-boolean v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTilesColorsEnabled:Z
:cond_0
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTilesBgType:I
packed-switch v0, :pswitch_data_0
:pswitch_1
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileCircleOn:I
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileCircleOff:I
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorDisabled:I
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileCircledDim:I
iput v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorInactive:I
new-instance v0, Landroid/widget/ImageView;
invoke-direct
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
sget v1, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileCircleBgId:I
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
iget v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mColorActive:I
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mBg:Landroid/widget/ImageView;
iput-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxTintCircle:Z
:pswitch_2
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTilePredefBgDim:I
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTilePredefBgOffId:I
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
sget v0, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTilePredefBgId:I
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iput-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxManageImageViews:Z
:pswitch_3
invoke-virtual
sget-object v1, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileBgCustomDimDrawable:Landroid/graphics/drawable/BitmapDrawable;
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
sget-object v1, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileBgCustomOffDrawable:Landroid/graphics/drawable/BitmapDrawable;
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
sget-object v1, Lcom/mods/grx/GrxNotiPanelModsSettings;->sGrxTileBgCustomDrawable:Landroid/graphics/drawable/BitmapDrawable;
iput-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mIconFrame:Landroid/widget/FrameLayout;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iput-boolean v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxManageImageViews:Z
:pswitch_data_0
.packed-switch 0x0
:pswitch_0
:pswitch_1
:pswitch_2
:pswitch_3
.end packed-switch
.end method
.method public grxUpdateImageViews(I)V
.locals 2
packed-switch p1, :pswitch_data_0
:pswitch_0
const v1, 0x8
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
:pswitch_1
const v1, 0x8
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
:pswitch_2
const v1, 0x8
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOff:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredOn:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/android/systemui/qs/tileimpl/QSTileBaseView;->mGrxPredDim:Landroid/widget/ImageView;
:pswitch_data_0
.packed-switch 0x0
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method
4. В SystemUI/smali\com\android\systemui\qs\tileimpl\QSTileImpl.smali меняем метод .method public static getColorForState(Landroid/content/Context;I)I на следующий:
.method public static getColorForState(Landroid/content/Context;I)I
.locals 5
new-instance p0, Ljava/lang/StringBuilder;
invoke-direct
const-string v0, «Invalid state «
const-string p1, «QSTile»
:cond_0
const-string/jumbo v3, «text_color_on»
:cond_1
const-string/jumbo v3, «text_color_off»
:cond_2
const-string/jumbo v3, «text_color_dis»
5. В SystemUI/smali_classes2/com/android/systemui/statusbar/phone/StatusBar.smali
[- Добавляем две строки:
.class public Lcom/android/systemui/statusbar/phone/StatusBar;
.super Lcom/android/systemui/SystemUI;
.source «StatusBar.java»
# interfaces
.implements Lcom/android/systemui/DemoMode;
.implements Lcom/android/systemui/plugins/ActivityStarter;
.implements Lcom/android/systemui/statusbar/policy/KeyguardStateController$Callback;
.implements Lcom/android/systemui/statusbar/policy/OnHeadsUpChangedListener;
.implements Lcom/android/systemui/statusbar/CommandQueue$Callbacks;
.implements Lcom/android/internal/colorextraction/ColorExtractor$OnColorsChangedListener;
.implements Lcom/android/systemui/statusbar/policy/ConfigurationController$ConfigurationListener;
.implements Lcom/android/systemui/statusbar/phone/StatusBarObjectProvider;
.implements Lcom/android/systemui/plugins/statusbar/StatusBarStateController$StateListener;
.implements Lcom/android/systemui/statusbar/notification/ActivityLaunchAnimator$Callback;
.implements Lcom/android/systemui/statusbar/notification/row/NotifDoubleTapListener;
.implements Lcom/android/systemui/statusbar/HeadsupDragAndDropHelper$HunDragCallback;
.implements Lcom/android/wubydax/GearContentObserver$OnContentChangedListener;
— В методе .method public start()V добавляем:
.method public start()V
.locals 12
new-instance v0, Lcom/mods/grx/GrxSbStockIconsColors;
iget-object v1, p0, Lcom/android/systemui/statusbar/phone/StatusBar;->mContext:Landroid/content/Context;
invoke-direct
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBar;->mScreenLifecycle:Lcom/android/systemui/keyguard/ScreenLifecycle;
— В конце добавляем метод:
.method public sacSetUpVars()V
.locals 2
new-instance v0, Lcom/android/systemui/statusbar/phone/StatusBar$SacObserver;
new-instance v1, Landroid/os/Handler;
invoke-direct
invoke-direct
iget-object v0, p0, Lcom/android/systemui/statusbar/phone/StatusBar;->mContext:Landroid/content/Context;
.class public abstract Lcom/android/systemui/SystemUI;
.super Ljava/lang/Object;
.source «SystemUI.java»
.field private mFlipfont:I
# direct methods
.method public constructor (Landroid/content/Context;)V
.locals 1
invoke-direct
iput v0, p0, Lcom/android/systemui/SystemUI;->mFlipfont:I
iput-object p1, p0, Lcom/android/systemui/SystemUI;->mContext:Landroid/content/Context;
.method public static overrideNotificationAppName(Landroid/content/Context;Landroid/app/Notification$Builder;Z)V
.locals 1
new-instance v0, Landroid/os/Bundle;
invoke-direct
const p2, 0x1040732
:cond_0
const p2, 0x1040731
:goto_0
const-string p2, «android.substName»
# virtual methods
.method public dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
.locals 0
.method protected onBootCompleted()V
.locals 0
.method protected onConfigurationChanged(Landroid/content/res/Configuration;)V
.locals 2
iget v0, p1, Landroid/content/res/Configuration;->FlipFont:I
iget v1, p0, Lcom/android/systemui/SystemUI;->mFlipfont:I
iget p1, p1, Landroid/content/res/Configuration;->FlipFont:I
iput p1, p0, Lcom/android/systemui/SystemUI;->mFlipfont:I
:cond_0
return-void
.end method
.method public onTrimMemory(I)V
.locals 0
.method public abstract start()V
.end method
II. Ром Контрол типа GRX
1. В нужную xml добавляем: