102 pagesV  < 1 2 3 4 5 6 > »  
 
REPLY
> Instructions for editing system resources | Catalog of instructions (manuals) for editing system resources
Fashionon
Message#1
23.11.10, 23:27
*********
[offline]

Group: Honorary Gameday
Messages 3497
Check in: 24.05.10
Apple iPhone 7

Reputation:-  3135  +

Instructions for editing Android system resources


Attached Image

We collect knowledge on editing the graphic part of Android

  1. Only manuals, lessons, etc. are published. on application modification
  2. Before making a message with a lesson.
    • It is recommended to check if it has not been placed before; in case of repetition, the information will be deleted. Please describe in detail all the subtleties of the editing method.
  3. Publication of lessons, manuals, etc.
    • Allowed only by the set pattern!
      Template
      New instruction
      [center] [color = blue] [size = 3] [b] The name of the lesson, manual, etc. [/ b] [/ size] [/ color] [/ center]
      [b] Tested on: [/ b]
      [list] [*] [color = darkred] [b] Android versions: [/ b] [/ color] Android X.Y.Z
      [*] [color = purple] [b] Shell / firmware: [/ b] [/ color] Samsung / LG / AOSP / LineageOS
      [/ list]
      [spoiler = Description / Instruction] [color = "# 000000"] [b] Description [/ b] [/ color]
      Briefly, but clearly disclose the essence of the modification
      [img] // s.savagemessiahzine.com.to / forum / style_images / f / 281-divider_3.png [/ img] (When inserting a message, remove the space to make // s.savagemessiahzine.com.to)
      [color = "# 000000"] [b] Instructions [/ b] [/ color]
      Here is your detailed instructions
      [/ spoiler]
      [spoiler = Screenshots] Attach screenshots if necessary [/ spoiler]


      Addition to the already existing instructions
      [center] [size = 3] [color = teal] [b] Addition to [/ color] [url = "//savagemessiahzine.com/forum/index.php?showtopic=540887" reference to the original [/ url] [/ b] [/ size] [/ center]

      [spoiler = Description / Instruction] [color = "# 000000"] [b] Description [/ b] [/ color]
      Briefly, but clearly disclose the essence of the supplement
      [img] // s.savagemessiahzine.com.to / forum / style_images / f / 281-divider_3.png [/ img] (When inserting a message, remove the space to make // s.savagemessiahzine.com.to)
      [color = "# 000000"] [b] Instructions [/ b] [/ color]
      Here is your detailed instructions
      [/ spoiler]
      [spoiler = Screenshots] Attach screenshots if necessary [/ spoiler]

    • It is forbidden to publish messages that include only links to instructions / additions, but not the content of instructions / additions, because this does not match the above message design patterns. The exception is the announcement of adding a supplement to the message with the manual (located in this topic). Such an announcement must be removed within a week after publication.




Topics Curator:Art2000Write to the curator


Post has been editedArt2000 - 20.02.19, 07:52
sanek_6630
Message#22
18.01.13, 02:51
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 191
Check in: 27.11.08

Reputation:-  29  +

�������� ����� full screen mod download


based onlinkfileICS-Hide-Bar


(Used first APK Manager ruslink , AutoDEODEXTOOL. Then for encoding the jarANDROID_firmware_tool_v1.5, (all in one - includes the first two utilities, for encoding the jar you also need to have the file / system / bin / dexopt-wrapper (with 777 permissions)
Attached filedexopt-wrapper.zip(2.51 KB)
(resources of the /system/app/Settings.apk file) added lines to display_settings.xml (highlighted in color) by analogy with the original
<? xml version = "1.0" encoding = "utf-8"?>
<PreferenceScreen android: title = "@ string / display_settings"
xmlns: android = "http://schemas.android.com/apk/res/android "
xmlns: settings = "http://schemas.android.com/apk/res/com.android.settings ">
<com.android.settings.BrightnessPreference android: title = "@ string / brightness" android: key = "brightness" android: dialogTitle = "@ string / brightness" />
<PreferenceScreen android: title = "@ string / wallpaper_settings_title" android: key = "wallpaper" android: fragment = "com.android.settings.WallpaperTypeSettings" />
<CheckBoxPreference android: title = "@ string / accelerometer_title" android: key = "accelerometer" />
<ListPreference android: persistent = "false" android: entries = "@ array / status_bar_auto_hide_entries" android: title = "@ string / status_bar_auto_hide_title" android: key = "status_bar_auto_hide" android: summary = "@ string / status_bar_auto_hide_summary_hide" android: summary = "@ string / status_bar_auto_hide_slow" @ array / status_bar_auto_hide_values ​​"/>
<ListPreference android: persistent = "false" android: entries = "@ array / screen_timeout_entries" android: title = "@ string / screen_timeout" android: key = "screen_timeout" android: summary = "@ string / screen_timeout_summary" android: entryValues ​​= " @ array / screen_timeout_values ​​"/>
<ListPreference android: persistent = "false" android: entries = "@ array / outputmode_entries" android: title = "@ string / tv_output_mode" android: key = "output_mode" android: summary = "@ string / tv_output_mode_summary" android: entryValues ​​= " @ array / outputmode_values ​​"/>
<Preference android: persistent = "false" android: title = "@ string / display_position" android: key = "display_position" android: summary = "@ string / display_position_summary" />
<ListPreference android: entries = "@ array / entries_font_size" android: title = "@ string / title_font_size" android: key = "font_size" android: summary = "@ string / summary_font_size" android: dialogTitle = "@ string / dialog_title_font_size" android: entryValues ​​= "@ array / entryvalues_font_size" />
<CheckBoxPreference android: persistent = "false" android: title = "@ string / notification_pulse_title" android: key = "notification_pulse" />
</ PreferenceScreen>
original (from the link above)
<? xml version = "1.0" encoding = "utf-8"?>
<PreferenceScreen android: title = "@ string / display_settings"
xmlns: android = "http://schemas.android.com/apk/res/android"
xmlns: settings = "http://schemas.android.com/apk/res/com.android.settings">
<com.android.settings.BrightnessPreference android: title = "@ string / brightness" android: key = "brightness" android: dialogTitle = "@ string / brightness" />
<PreferenceScreen android: title = "@ string / wallpaper_settings_title" android: key = "wallpaper" android: fragment = "com.android.settings.WallpaperTypeSettings" />
<CheckBoxPreference android: title = "@ string / accelerometer_title" android: key = "accelerometer" />
<ListPreference android: persistent = "false" android: entries = "@ array / status_bar_auto_hide_entries" android: title = "@ string / status_bar_auto_hide_title" android: key = "status_bar_auto_hide" android: summary = "@ string / status_bar_auto_hide_summary_hide" android: summary = "@ string / status_bar_auto_hide_slow" @ array / status_bar_auto_hide_values ​​"/>
<ListPreference android: persistent = "false" android: entries = "@ array / screen_timeout_entries" android: title = "@ string / screen_timeout" android: key = "screen_timeout" android: summary = "@ string / screen_timeout_summary" android: entryValues ​​= " @ array / screen_timeout_values ​​"/>
<ListPreference android: persistent = "false" android: entries = "@ array / outputmode_entries" android: title = "@ string / tv_output_mode" android: key = "output_mode" android: summary = "@ string / tv_output_mode_summary" android: entryValues ​​= " @ array / outputmode_values ​​"/>
<Preference android: persistent = "false" android: title = "@ string / display_position" android: key = "display_position" android: summary = "@ string / display_position_summary" />
<ListPreference android: entries = "@ array / entries_font_size" android: title = "@ string / title_font_size" android: key = "font_size" android: summary = "@ string / summary_font_size" android: dialogTitle = "@ string / dialog_title_font_size" android: entryValues ​​= "@ array / entryvalues_font_size" />
<CheckBoxPreference android: persistent = "false" android: title = "@ string / notification_pulse_title" android: key = "notification_pulse" />
</ PreferenceScreen>
file arrays.xml, end of file
...
<string-array name = "hdmi_spdif_entries">
<item>PCM</ item>
<item>RAW</ item>
</ string-array>
<string-array name = "hdmi_spdif_values">
<item>0</ item>
<item>1</ item>
</ string-array>
<string-array name = "input_method_selector_titles">
<item>@ string / input_method_selector_show_automatically_title</ item>
<item>@ string / input_method_selector_always_show_title</ item>
<item>@ string / input_method_selector_always_hide_title</ item>
</ string-array>
<string-array name = "input_method_selector_values">
<item>@ string / input_method_selector_show_automatically_value</ item>
<item>@ string / input_method_selector_always_show_value</ item>
<item>@ string / input_method_selector_always_hide_value</ item>
</ string-array>
<string-array name = "status_bar_auto_hide_entries">
<item>Normal screeen mode</ item>
<item>Full screeen mode</ item>
<item>Smart screen mode</ item>
</ string-array>
<string-array name = "status_bar_auto_hide_values">
<item>0</ item>
<item>1</ item>
<item>2</ item>
</ string-array>

</ resources>
original (end of file)
...
<string-array name = "accelerometer_summaries">
<item>Accelerometer uses the default coordinate system.</ item>
<item>Accelerometer uses a system for some games.</ item>
</ string-array>
<string-array name = "display_mode_list_entries">
<item>center</ item>
</ string-array>
<string-array name = "display_mode_list_values">
<item>center</ item>
</ string-array>
<string-array name = "input_method_selector_titles">
<item>@ string / input_method_selector_show_automatically_title</ item>
<item>@ string / input_method_selector_always_show_title</ item>
<item>@ string / input_method_selector_always_hide_title</ item>
</ string-array>
<string-array name = "input_method_selector_values">
<item>@ string / input_method_selector_show_automatically_value</ item>
<item>@ string / input_method_selector_always_show_value</ item>
<item>@ string / input_method_selector_always_hide_value</ item>
</ string-array>
<string-array name = "status_bar_auto_hide_entries">
<item>Normal screeen mode</ item>
<item>Full screeen mode</ item>
<item>Smart screen mode</ item>
</ string-array>
<string-array name = "status_bar_auto_hide_values">
<item>0</ item>
<item>1</ item>
<item>2</ item>
</ string-array>
</ resources>
strings.xml file end
...
<string name = "display_position_dialog_title">Notice</ string>
<string name = "display_position_set_confirm_dialog">Display position has been set. Are you confirm to save it and reboot?</ string>
<string name = "display_position_dialog_no">No</ string>
<string name = "display_position_set_default_confirm_dialog">Display position has been set to default values. Are you confirm to save it and reboot?</ string>
<string name = "hdmi_yuv_switch_title">hdmi_yuv_switch_title</ string>
<string name = "hdmi_yuv_switch_summary">hdmi_yuv_switch_summary</ string>
<string name = "hdmi_settings">HDMI</ string>
<string name = "hdmi_dual_disp">Enable dual display</ string>
<string name = "hdmi_dual_disp_on">Dual display ON</ string>
<string name = "hdmi_dual_disp_off">Dual display OFF</ string>
<string name = "hdmi_spdif">Set SPDIF</ string>
<string name = "status_bar_auto_hide_title">Fullscreen mode</ string>
<string name = "status_bar_auto_hide_summary">To hide the system bar</ string>
</ resources>
original
...
<string name = "eth_dev_summaryoff">DISCONNECTED</ string>
<string name = "eth_dev_summaryon">CONNECTED - USED DEVICE:</ string>
<string name = "eth_link_status">Link Status</ string>
<string name = "eth_link_mode">Link Mode</ string>
<string name = "eth_ip_mode">IP Mode:</ string>
<string name = "eth_dhcp_mode">DHCP</ string>
<string name = "eth_manual_mode">MANUAL</ string>
<string name = "eth_ok">Ok</ string>
<string name = "eth_cancel">Cancel</ string>
<string name = "eth_advand">Advand</ string>
<string name = "eth_message">Are you apply this device?</ string>
<string name = "smart_brightness_title">Smart backlight</ string>
<string name = "smart_brightness_summary">Auto adjust the backlight.</ string>
<string name = "smart_brightness_preview">Preview mode</ string>
<string name = "status_bar_auto_hide_title">Fullscreen mode</ string>
<string name = "status_bar_auto_hide_summary">To hide the system bar</ string>
</ resources>
public.xml part of strings by type
...

<public type = "array" name = "position_entries" id = "0x7f070043" />
<public type = "array" name = "outputmode_entries" id = "0x7f070044" />
<public type = "array" name = "outputmode_values" id = "0x7f070045" />
<public type = "array" name = "hdmi_spdif_entries" id = "0x7f070046" />
<public type = "array" name = "hdmi_spdif_values" id = "0x7f070047" />
<public type = "array" name = "input_method_selector_titles" id = "0x7f070048" />
<public type = "array" name = "input_method_selector_values" id = "0x7f070049" />
<public type = "array" name = "status_bar_auto_hide_entries" id = "0x7f07004a" />
<public type = "array" name = "status_bar_auto_hide_values" id = "0x7f07004b" />

<public type = "id" name = "horizontal" id = "0x7f080000" />
<public type = "id" name = "vertical" id = "0x7f080001" />
...

another part by type

...
<public type = "string" name = "hdmi_dual_disp" id = "0x7f0b060a" />
<public type = "string" name = "hdmi_dual_disp_on" id = "0x7f0b060b" />
<public type = "string" name = "hdmi_dual_disp_off" id = "0x7f0b060c" />
<public type = "string" name = "hdmi_spdif" id = "0x7f0b060d" />
<public type = "string" name = "status_bar_auto_hide_title" id = "0x7f0b0611" />
<public type = "string" name = "status_bar_auto_hide_summary" id = "0x7f0b0612" />

<public type = "string" name = "vibrate_title" id = "0x7f0b060e" />
<public type = "string" name = "system_tutorial_list_item_title" id = "0x7f0b060f" />
<public type = "string" name = "system_tutorial_list_item_summary" id = "0x7f0b0610" />
<public type = "dimen" name = "device_memory_usage_button_width" id = "0x7f0c0000" />
...
original
...
<public type = "array" name = "accelerometer_entries" id = "0x7f070041" />
<public type = "array" name = "accelerometer_values" id = "0x7f070042" />
<public type = "array" name = "accelerometer_summaries" id = "0x7f070043" />
<public type = "array" name = "display_mode_list_entries" id = "0x7f070044" />
<public type = "array" name = "display_mode_list_values" id = "0x7f070045" />
<public type = "array" name = "input_method_selector_titles" id = "0x7f070046" />
<public type = "array" name = "input_method_selector_values" id = "0x7f070047" />
<public type = "array" name = "status_bar_auto_hide_entries" id = "0x7f070048" />
<public type = "array" name = "status_bar_auto_hide_values" id = "0x7f070049" />
<public type = "id" name = "horizontal" id = "0x7f080000" />
<public type = "id" name = "vertical" id = "0x7f080001" />
<public type = "id" name = "all_apps" id = "0x7f080002" />
<public type = "id" name = "list_view" id = "0x7f080003" />
<public type = "id" name = "app_icon" id = "0x7f080004" />
...

<public type = "string" name = "smart_brightness_title" id = "0x7f0b0612" />
<public type = "string" name = "smart_brightness_summary" id = "0x7f0b0613" />
<public type = "string" name = "smart_brightness_preview" id = "0x7f0b0614" />
<public type = "string" name = "status_bar_auto_hide_title" id = "0x7f0b0615" />
<public type = "string" name = "status_bar_auto_hide_summary" id = "0x7f0b0616" />
<public type = "string" name = "vibrate_title" id = "0x7f0b060f" />
<public type = "string" name = "system_tutorial_list_item_title" id = "0x7f0b0610" />
<public type = "string" name = "system_tutorial_list_item_summary" id = "0x7f0b0611" />
<public type = "dimen" name = "device_memory_usage_button_width" id = "0x7f0c0000" />
<public type = "dimen" name = "device_memory_usage_button_height" id = "0x7f0c0001" />
...

code in DisplaySettings.smaliAttached fileDisplaySettings.smali.txt(92.87 KB)
originalAttached fileDisplaySettings.smali.txt(53.2 KB)
...
# static fields
...
.field private static FreeScaleOsd1File: Ljava / lang / String;
.field private static final KEY_STATUS_BAR_AUTO_HIDE: Ljava / lang / String;
.field private static PpscalerFile: Ljava / lang / String;
...
# instance fields
...
.field private mScreenTimeoutPreference: Landroid / preference / ListPreference;
.field private mStatusbarAutohide: Landroid / preference / ListPreference;
.field requestFocusHandler: Landroid / os / Handler;
...
# direct methods
...

.method private updateState () V
.registers 2

.prologue
.line 356
invoke-direct {p0}, Lcom / android / settings / DisplaySettings; ->updateAccelerometerRotationCheckbox () V

.line 357
iget-object v0, p0, Lcom / android / settings / DisplaySettings; ->mFontSizePref: Landroid / preference / ListPreference;

invoke-virtual {p0, v0}, Lcom / android / settings / DisplaySettings; ->readFontSizePreference (Landroid / preference / ListPreference;) V

.line 358
return-void
.end method

.method private updateStatusbarAutohideSummary (Ljava / lang / Object;) V
.registers 7
.parameter "value"

.prologue
invoke-virtual {p0}, Lcom / android / settings / DisplaySettings; ->getResources () Landroid / content / res / Resources;

move-result-object v3

const v4,0x7f07004a

invoke-virtual {v3, v4}, Landroid / content / res / Resources; ->getTextArray (I) [Ljava / lang / CharSequence;

move-result-object v1

.local v1, summaries: [Ljava / lang / CharSequence;
iget-object v3, p0, Lcom / android / settings / DisplaySettings; ->mStatusbarAutohide: Landroid / preference / ListPreference;

invoke-virtual {v3}, Landroid / preference / ListPreference; ->getEntryValues ​​() [Ljava / lang / CharSequence;

move-result-object v2

.local v2, values: [Ljava / lang / CharSequence;
const / 4 v0, 0x0

.local v0, i: I
: goto_12
array-length v3, v2

if-ge v0, v3,: cond_24

aget-object v3, v2, v0

invoke-virtual {v3, p1}, Ljava / lang / Object; ->equals (Ljava / lang / Object;) Z

move-result v3

if-eqz v3,: cond_25

iget-object v3, p0, Lcom / android / settings / DisplaySettings; ->mStatusbarAutohide: Landroid / preference / ListPreference;

aget-object v4, v1, v0

invoke-virtual {v3, v4}, Landroid / preference / ListPreference; ->setSummary (Ljava / lang / CharSequence;) V

: cond_24
return-void

: cond_25
add-int / lit8 v0, v0, 0x1

goto: goto_12
.end method

.method private updateTimeoutPreferenceDescription (J) V
.registers 16
.parameter "currentTimeout"

.prologue
const-wide / 16 v10, 0x1

.line 240
...
.method public onCreate (Landroid / os / Bundle;) V
.registers 16
.parameter "savedInstanceState"

.prologue
const / 4 v8, 0x1

const / 4 v9, 0x0

.line 155
invoke-super {p0, p1}, Lcom / android / settings / SettingsPreferenceFragment; ->onCreate (Landroid / os / Bundle;) V

.line 156
invoke-virtual {p0}, Lcom / android / settings / DisplaySettings; ->getActivity () Landroid / app / Activity;

move-result-object v7

invoke-virtual {v7}, Landroid / app / Activity; ->getContentResolver () Landroid / content / ContentResolver;

move-result-object v4

.line 158
.local v4, resolver: Landroid / content / ContentResolver;
const v7, 0x7f05000f

invoke-virtual {p0, v7}, Lcom / android / settings / DisplaySettings; ->addPreferencesFromResource (I) V

.line 160
const-string v7, "accelerometer"

invoke-virtual {p0, v7}, Lcom / android / settings / DisplaySettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;

move-result-object v7

check-cast v7, Landroid / preference / CheckBoxPreference;

iput-object v7, p0, Lcom / android / settings / DisplaySettings; ->mAccelerometer: Landroid / preference / CheckBoxPreference;

.line 161
iget-object v7, p0, Lcom / android / settings / DisplaySettings; ->mAccelerometer: Landroid / preference / CheckBoxPreference;

invoke-virtual {v7, v9}, Landroid / preference / CheckBoxPreference; ->setPersistent (Z) V

const / 4 v10, 0x0

invoke-virtual {v7, v10}, Landroid / preference / CheckBoxPreference; ->setPersistent (Z) V

const-string v7, "status_bar_auto_hide"

invoke-virtual {p0, v7}, Lcom / android / settings / DisplaySettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;

move-result-object v7

check-cast v7, Landroid / preference / ListPreference;

iput-object v7, p0, Lcom / android / settings / DisplaySettings; ->mStatusbarAutohide: Landroid / preference / ListPreference;

const-string v7, "status_bar_auto_hide"

const / 4 v11, 0x1

invoke-static {v4, v7, v11}, Landroid / provider / Settings $ System; ->getInt (Landroid / content / ContentResolver; Ljava / lang / String; I) I

move-result v10

invoke-static {v10}, Ljava / lang / String; ->valueOf (I) Ljava / lang / String;

move-result-object v10

iget-object v7, p0, Lcom / android / settings / DisplaySettings; ->mStatusbarAutohide: Landroid / preference / ListPreference;

invoke-virtual {v7, v10}, Landroid / preference / ListPreference; ->setValue (Ljava / lang / String;) V

iget-object v7, p0, Lcom / android / settings / DisplaySettings; ->mStatusbarAutohide: Landroid / preference / ListPreference;

invoke-virtual {v7, p0}, Landroid / preference / ListPreference; ->setOnPreferenceChangeListener (Landroid / preference / Preference $ OnPreferenceChangeListener;) V

invoke-direct {p0, v10}, Lcom / android / settings / DisplaySettings; ->updateStatusbarAutohideSummary (Ljava / lang / Object;) V

.line 163
const-string v7, "screen_timeout"

invoke-virtual {p0, v7}, Lcom / android / settings / DisplaySettings; ->findPreference (Ljava / lang / CharSequence;) Landroid / preference / Preference;

move-result-object v7

check-cast v7, Landroid / preference / ListPreference;

iput-object v7, p0, Lcom / android / settings / DisplaySettings; ->mScreenTimeoutPreference: Landroid / preference / ListPreference;

.line 164
const-string v7, "screen_off_timeout"
...
.method public onPreferenceChange (Landroid / preference / Preference; Ljava / lang / Object;) Z
.locals 7
.parameter
.parameter

.prologue
const / 4 v6, 0x2

const / 4 v5, 0x1

.line 414
invoke-virtual {p1}, Landroid / preference / Preference; ->getKey () Ljava / lang / String;

move-result-object v2

.line 415
.local v2, key: Ljava / lang / String;
const-string v0, "status_bar_auto_hide"

invoke-virtual {v0, v2}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z

move-result v0

if-eqz v0,: cond_5

move-object v0, p2

check-cast v0, Ljava / lang / String;

invoke-static {v0}, Ljava / lang / Integer; ->parseInt (Ljava / lang / String;) I

move-result v1

invoke-virtual {p0}, Lcom / android / settings / DisplaySettings; ->getContentResolver () Landroid / content / ContentResolver;

move-result-object v0

const-string v4, "status_bar_auto_hide"

invoke-static {v0, v4, v1}, Landroid / provider / Settings $ System; ->putInt (Landroid / content / ContentResolver; Ljava / lang / String; I) Z

invoke-direct {p0, p2}, Lcom / android / settings / DisplaySettings; ->updateStatusbarAutohideSummary (Ljava / lang / Object;) V

goto / 16: goto_2

: cond_5
const-string v0, "screen_timeout"

invoke-virtual {v0, v2}, Ljava / lang / String; ->equals (Ljava / lang / Object;) Z

move-result v0

if-eqz v0,: cond_0

move-object v0, p2
...


R.smali
.class public final Lcom / android / settings / R;
.super ljava / lang / Object;
.source "R.java"


# annotations
.annotation system Ldalvik / annotation / MemberClasses;
value = {
Lcom / android / settings / R $ styleable ;,
Lcom / android / settings / R $ string ;,
Lcom / android / settings / R $ array;

}
.end annotation


# direct methods
.method public constructor<init>() V
.registers 1

.prologue
.line 10
invoke-direct / range {p0 .. p0}, Ljava / lang / Object; -><init>() V

return-void
.end method
created R $ array.smali (it was not there, took from the original by deleting the excess)
.class public final Lcom / android / settings / R $ array;
.super ljava / lang / Object;
.source "R.java"


# annotations
.annotation system Ldalvik / annotation / EnclosingClass;
value = Lcom / android / settings / R;
.end annotation

.annotation system Ldalvik / annotation / InnerClass;
accessFlags = 0x19
name = "array"
.end annotation


# static fields
.field public static final status_bar_auto_hide_entries: I = 0x7f070048

.field public static final status_bar_auto_hide_values: I = 0x7f070049



# direct methods
.method public constructor<init>() V
.registers 1

.prologue
.line 11
invoke-direct {p0}, Ljava / lang / Object; -><init>() V

return-void
.end method
and R $ string.smali (was not there either)
.class public final Lcom / android / settings / R $ string;
.super ljava / lang / Object;
.source "R.java"


# annotations
.annotation system Ldalvik / annotation / EnclosingClass;
value = Lcom / android / settings / R;
.end annotation

.annotation system Ldalvik / annotation / InnerClass;
accessFlags = 0x19
name = "string"
.end annotation


# static fields
.field public static final status_bar_auto_hide_summary: I = 0x7f0b0612

.field public static final status_bar_auto_hide_title: I = 0x7f0b0611



# direct methods
.method public constructor<init>() V
.registers 1

.prologue
.line 1637
invoke-direct {p0}, Ljava / lang / Object; -><init>() V

return-void
.end method
disassembled /system/framework/android.policy.jar file PhoneWindowManager.smaliAttached filePhoneWindowManager.smali.txt(367.47 KB)
originalAttached filePhoneWindowManager.smali.txt(346.75 KB)
header1
...
# static fields
..
.field static final ENABLE_CAR_DOCK_HOME_CAPTURE: Z = true

.field static final ENABLE_DESK_DOCK_HOME_CAPTURE: Z = false

.field static final FULLSCREEN_HIDESTATUSBAR: Z = true

.field static final HIDDEN_NAV_CONSUMER_LAYER: I = 0x18

.field static final INPUT_METHOD_DIALOG_LAYER: I = 0xa
..

.method public finishAnimationLw () I
...
.line 2490
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBarCanHide: Z

if-nez v5,: cond_9e

iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHdmiPlugged: Z

if-nez v5,: cond_9e

const-string v5, "tv.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

if-nez v5,: cond_9e

const-string v5, "vplayer.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

if-nez v5,: cond_9e

const / 4 v4, 0x1
# possible without this page

iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mContext: Landroid / content / Context;

invoke-virtual {v5}, Landroid / content / Context; ->getContentResolver () Landroid / content / ContentResolver;

move-result-object v5

const-string v6, "status_bar_auto_hide"

invoke-static {v5, v6, v4}, Landroid / provider / Settings $ System; ->getInt (Landroid / content / ContentResolver; Ljava / lang / String; I) I

move-result v5


if-nez v5,: cond_9e # can be omitted, if v5 is not 0, the code after the .line 2495 line will start automatically

if-eqz v5,: cond_2a

.line 2495
: cond_9e
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z

move-result v5

if-eqz v5,: cond_2a

.line 2496
or-int / lit8 v0, v0, 0x1
...


ANDROID_firmware_tool_v1.5 small jamb (only I can) if you choose to code apk dalvik, the odex file is apk 0 kb, you can put apk from deodexed instead, open it with apk, delete the dex class.
(The file android.policy.jar with the odex file, had to be edited after editing, otherwise the operating system didn’t load further android)
ANDROID_firmware_tool_v1.5 settings
80 Version APKTOOL: 1.4.3
81 SMALI Version: 1.3.4
82 API level: -a 15
83 BootClassPath: Freelander_PD20_4.0.3.bat
831 Get BootClassPath from Phone
84 aapt version: aapt_r20
85 De / compiler for classes.dex: smali
86 Run zipalign when building: yes
87 Using registers in backsmali: -p- and -v-
88 Save original AndroidManifest: yes

The Settings.apk file from the link above also starts up, checked for c91 upgrate 4.0.3, if you replace (by opening in the archiver) AndroidManifest.xml and the META-INF folder with 3 files inside the manifest and META-INF from Settings .apk, cat taken from the device (firmware)
edited files and their originalsAttached filesource_mod.rar(6.61 MB)
framework + jarAttached fileorigi_frame.rar(12.52 MB)
in games, mx player hides the status bar automatically and restores when exiting (like on andr 2.3), but the fullscreen mod mode in the settings does not remove the bottom line, works like a smart mod mode only in games and applications, the cat is asked for the full screen, click nose, (I don’t understand programming, it’s a miracle that it worked) in android.policy.jar in the \ smali \ com \ android \ internal \ policy \ impl \ PhoneWindowManager.smali file which part of the code sees and enables fullscreen mode if it is selected in settings thanks
Thank you all turned out
... method public finishAnimationLw () I
.registers 8

.prologue
const / 4 v4, 0x0

const / 4 v3, 0x1

.line 2458
const / 4 v0, 0x0

.line 2459
.local v0, changes: I
const / 4 v2, 0x0

.line 2461
.local v2, topIsFullscreen: Z
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mTopFullscreenOpaqueWindowState: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v5,: cond_66

iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mTopFullscreenOpaqueWindowState: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5}, Landroid / view / WindowManagerPolicy $ WindowState; ->getAttrs () Landroid / view / WindowManager $ LayoutParams;

move-result-object v1

.line 2465
.local v1, lp: Landroid / view / WindowManager $ LayoutParams;
: goto_e
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v5,: cond_2a

.line 2466
const-string v5, "sys.statusbar.forcehide"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

if-ne v5, v3,: cond_6a

.line 2467
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v4}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z

.line 2468
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mTopFullscreenOpaqueWindowState: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v5,: cond_2a

.line 2469
iget v5, v1, Landroid / view / WindowManager $ LayoutParams; ->flags: I

and-int / lit16 v5, v5, 0x400

if-eqz v5,: cond_68

move v2, v3

.line 2517
: cond_2a
: goto_2a
iput-boolean v2, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mTopIsFullscreen: Z

.line 2521
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguard: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v5,: cond_58

.line 2523
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mDismissKeyguard: Z

if-eqz v5,: cond_c2

iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguardMediator: Lcom / android / internal / policy / impl / KeyguardViewMediator;

invoke-virtual {v5}, Lcom / android / internal / policy / impl / KeyguardViewMediator; ->isSecure () Z

move-result v5

if-nez v5,: cond_c2

.line 2524
iget-object v4, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguard: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v4, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z

move-result v3

if-eqz v3,: cond_46

.line 2525
or-int / lit8 v0, v0, 0x7

.line 2529
: cond_46
iget-object v3, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguardMediator: Lcom / android / internal / policy / impl / KeyguardViewMediator;

invoke-virtual {v3}, Lcom / android / internal / policy / impl / KeyguardViewMediator; ->isShowing () Z

move-result v3

if-eqz v3,: cond_58

.line 2530
iget-object v3, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHandler: Landroid / os / Handler;

new-instance v4, Lcom / android / internal / policy / impl / PhoneWindowManager $ 11;

invoke-direct {v4, p0}, Lcom / android / internal / policy / impl / PhoneWindowManager $ 11; -><init>(Lcom / android / internal / policy / impl / PhoneWindowManager;) V

invoke-virtual {v3, v4}, Landroid / os / Handler; ->post (Ljava / lang / Runnable;) Z

.line 2553
: cond_58
: goto_58
invoke-direct {p0}, Lcom / android / internal / policy / impl / PhoneWindowManager; ->updateSystemUiVisibilityLw () I

move-result v3

and-int / lit8 v3, v3, 0x2

if-eqz v3,: cond_62

.line 2556
or-int / lit8 v0, v0, 0x1

.line 2560
: cond_62
invoke-direct {p0}, Lcom / android / internal / policy / impl / PhoneWindowManager; ->updateLockScreenTimeout () V

.line 2561
return v0

.line 2461
.end local v1 #lp: Landroid / view / WindowManager $ LayoutParams;
: cond_66
const / 4 v1,0x0

goto: goto_e

.restart local v1 #lp: Landroid / view / WindowManager $ LayoutParams;
: cond_68
move v2, v4

.line 2469
goto: goto_2a

.line 2474
: cond_6a
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mForceStatusBar: Z

if-eqz v5,: cond_79

.line 2476
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->showLw (Z) Z

move-result v5

if-eqz v5,: cond_2a

or-int / lit8 v0, v0, 0x1

goto: goto_2a

.line 2477
: cond_79
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mTopFullscreenOpaqueWindowState: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v5,: cond_2a

.line 2484
iget v5, v1, Landroid / view / WindowManager $ LayoutParams; ->flags: I

and-int / lit16 v5, v5, 0x400

if-eqz v5,: cond_b4

move v2, v3

.line 2489
: goto_84
# if-eqz v2,: cond_b6 # commented out

# .line 2490 # commented out
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBarCanHide: Z

if-nez v5,: cond_9e

iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHdmiPlugged: Z

if-nez v5,: cond_9e

const-string v5, "tv.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

if-nez v5,: cond_9e

const-string v5, "vplayer.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

# if-eqz v5,: cond_2a # commented out, explanation of the command - if v5 is equivalent to zero go to the label: cond_2a

# added

if-nez v5,: cond_9e # if v5 is not 0 go to: cond_9e

iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mContext: Landroid / content / Context; # copied from original file

invoke-virtual {v5}, Landroid / content / Context; ->getContentResolver () Landroid / content / ContentResolver; # copied from original file

move-result-object v5 # copied from original file

const-string v6, "status_bar_auto_hide" # copied from the original file

invoke-static {v5, v6, v4}, Landroid / provider / Settings $ System; ->getInt (Landroid / content / ContentResolver; Ljava / lang / String; I) I # copied from the original file

move-result v5 # copied from original file

if-eqz v5,: cond_b6 # copied from the original file and modified (adapted)
if-nez v2,: cond_9e # copied from the original file and modified (adapted)

const / 4 v2, 0x1 # copied from the original file and modified (adapted)
if-ne v2, v5,: cond_b6 # copied from the original file and modified (adapted)

# end of added

.line 2495
: cond_9e
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z

move-result v5

if-eqz v5,: cond_2a

.line 2496
or-int / lit8 v0, v0, 0x1

.line 2498
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHandler: Landroid / os / Handler;

new-instance v6, Lcom / android / internal / policy / impl / PhoneWindowManager $ 10;

invoke-direct {v6, p0}, Lcom / android / internal / policy / impl / PhoneWindowManager $ 10; -><init>(Lcom / android / internal / policy / impl / PhoneWindowManager;) V

invoke-virtual {v5, v6}, Landroid / os / Handler; ->post (Ljava / lang / Runnable;) Z

goto / 16: goto_2a

: cond_b4
move v2, v4

.line 2484
goto: goto_84

.line 2511
: cond_b6
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->showLw (Z) Z

move-result v5

if-eqz v5,: cond_2a

or-int / lit8 v0, v0, 0x1

goto / 16: goto_2a

.line 2536
: cond_c2
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHideLockScreen: Z

if-eqz v5,: cond_d6

.line 2537
iget-object v4, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguard: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v4, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z

move-result v4

if-eqz v4,: cond_d0

.line 2538
or-int / lit8 v0, v0, 0x7

.line 2542
: cond_d0
iget-object v4, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguardMediator: Lcom / android / internal / policy / impl / KeyguardViewMediator;

invoke-virtual {v4, v3}, Lcom / android / internal / policy / impl / KeyguardViewMediator; ->setHidden (Z) V

goto: goto_58

.line 2544
: cond_d6
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguard: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->showLw (Z) Z

move-result v3

if-eqz v3,: cond_e0

.line 2545
or-int / lit8 v0, v0, 0x7

.line 2549
: cond_e0
iget-object v3, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mKeyguardMediator: Lcom / android / internal / policy / impl / KeyguardViewMediator;

invoke-virtual {v3, v4}, Lcom / android / internal / policy / impl / KeyguardViewMediator; ->setHidden (Z) V

goto / 16: goto_58
.end method
..
updated PhoneWindowManager.smaliAttached filePhoneWindowManager.smali.new.txt(367.38 KB)

Simplified way to enable automatic full-screen mode(comment out the line. Android 4.0.3)teams
(will work in applications that ask for full screen). Find lines of code in the PhoneWindowManager.smali file (the file is extracted from the deodexed and parsed /system/framework/android.policy.jar, search after the line .method public finishAnimationLw () lines like
: cond_9e # these lines may differ slightly
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z
the right team (look for it in the search)->hideLw, met 4 times. Option:
iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBarCanHide: Z

if-nez v5,: cond_9e

iget-boolean v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mHdmiPlugged: Z

if-nez v5,: cond_9e

const-string v5, "tv.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

if-nez v5,: cond_9e

const-string v5, "vplayer.hideStatusBar.enable"

invoke-static {v5, v4}, Landroid / os / SystemProperties; ->getBoolean (Ljava / lang / String; Z) Z

move-result v5

# if-eqz v5,: cond_2a # comment out with a line # check the line to 0 (if-eqz) so that the transition to the label can not be completed: cond_2a (with v5 = 0), and the code containing the command is>hideLw (enable full screen mode on request) see below. It was the execution of the code if the stock video player is active, the execution was anyway
.line 2495
: cond_9e
iget-object v5, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v5, v3}, Landroid / view / WindowManagerPolicy $ WindowState; ->hideLw (Z) Z # in this line is the first value of the brackets

v5, commented the check on line 0 with v5, if it were in brackets, for example v4, then you would comment v4, or try commenting any check on 0 before the line containing the hideLw command


move-result v5

if-eqz v5,: cond_2a

If the android.policy files on the device are two /system/framework/android.policy.jar and /system/framework/android.policy.odex (cloaked firmware), the android.policy.jar file needs to be crammed (described under the first spoiler first) . For coding, you need root, if it is there, but the program still swears that there are no rights, find (for example, in the programs above) create the adb file next to the name.bat file, enter the adb root line there, connect the device, run the file


Post has been editedDimar - 06.11.15, 21:26
Reason for editing: *
ViLesikA
Message#23
01.02.13, 16:43
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 250
Check in: 15.09.12
Samsung Galaxy S3 GT-I9300

Reputation:-  71  +

Creating your own color scheme for the system - how I do it!)
(The way to make your device unique without installing heavy programs on the phone on the example of framework-res.apk)

An example of the finished work - how I painted the system
Attached Image

Description
-------------------------------------------------------
Perhaps there are easier ways to edit
but I did not find them, but I partially came to this method myself,
partly in some moments helped mesavagemessiahzine.comand separate
users, thanks to them!
---------------------------------------------------------------------------
The complexity of the whole process:
The instructions came out very long and it may seem that everything is very difficult, in fact it is not. If I could figure it out, I think you will be able to do it (in fact only the simplest computer knowledge and attentiveness are needed), I wrote this manual longer than I painted my system)

Introductory:
As everyone knows, the androyd is quite a flexible system that allows you to customize everything the way you want it, and not how Steve Jobs or Steve Ballmer invented, for example. I generally like the design of the system, but I wanted to paint the system in those colors that I like, making my phone unique and without having to install third-party programs on the phone, thereby making the system heavier.


Instruction
0. Required programs
Some actions can be done with the help of analogs, but I got used to these programs, so if you understand it - at your discretion.
Java jdk (Link to off site)
ApkTools(You can get here:Editing framework-res.apk (Post # 6208431) )
Adobe Photoshop(It is desirable to have a completely minimal experience)
Advanced Batch Converter(Attached fileABC_5.8.rar(6.84 MB)
- thanks nastor'u)
Winrar

1. Unpacking the apk file
1.0InstallJava jdk

1.1Unpack the archiveApkTools.rarto the root of the diskC: \and open the folderApkTools

1.2Copy the file to this folderframework-res.apkfrom your firmware (or the file you want to edit, for example SystemUI.apk \ lidroid-res.apk)

1.3Drag the fileframework-res.apkon fileapktool-if.cmd(This operation must be done once for each firmware)

1.4Drag the fileframework-res.apkon fileapktool-d.cmdA folder with the name of your apk appears (in our case, framework-res). In this folder is our parsed file, the graphics in which we will edit.

1.5Open the main folder with graphicsC: \ ApkTools \ framework-res \ res \ drawable-xhdpi(or drawable-hdpi), we see a lot of “.png†files, sort the files by type and copy all the graphics into another folder (for example, you can create a folder on the desktop)

Note:I usually create a framework-res.apk folder on my desktop and already have drawable-xhdpi and other subfolders in it so as not to get confused and copy the graphics I want to edit

PS:Unpacking in ApkTools (and not just a simple winrar) is necessary in order to correctly extract graphics that have the format ".9.png"

2. Translation of graphics from index to normal.
Most of the graphics are indexed, i.e. not editable in normal mode in Photoshop, it must be transferred to normal mode, for editing.
PS:This action can be done, as I describe, or through bat scripts that are on this forum, but I used to do it in the programAdvanced Batch Converter (ABC), on her example and sign for everything.

2.0Run the programABC(it is portable, does not need to be installed)

2.1PushFile>>Batch mode. We expose everything as shown in the image below:
Attached Image


2.2In the top - the right field, open the folders with our .png pictures and click"Add all", on the left, after push"Start"and see how the program works.

2.3Now since we have several folders with graphics, you can click on completion"Delete everything"and then repeat point 2.2 again

3. Batch processing in Photoshop
The most creative and interesting moment in the editing process. To begin with, in order to choose the right colors, take a couple of screenshots of the main points that apk is responsible for, which we are editing. If we are correcting system graphics (systems \ frame \ lib .. files), then just make screenshots of curtains, settings, sliders, etc.

3.1 - Color matching We select the color solution (at its sole discretion, I will tell you what I did). To do this, open the screenshots of your current design, if in the window "Layers" our background is listed as “Background†with a lock, renamed (to remove the lock ) - clicking 2 times on it. Now once again click 2 times on this layer, the “Layer Style†window will open. As shown in the image below - we select the color and other parameters.
(I used“Color Overlay - Color†).

Note: Keep in mind that after your overlays - black should remain black so that there are no problems with the “.9.png†files.

Attached Image


PS: I also selected the contrast-brightness (Image-Correction-Brightness / Control.), Because I have on amold - the colors look more saturated than on the computer monitor. After you have chosen the colors, remember all the manipulations, save the screenshot image, for example, in jpg and drop it on the phone to see if the colors look good on the phone screen (it’s better if you have amold and you don’t want to get colors from a series of "tear-out eye")

3.2 From our folders on the desktop (drawable-hdpi, etc.), we delete pictures - we do not want to edit them (for example, pictures with weather icons, etc.)

3.3 - Creating a rule You have decided on the color solution, now you need to create a rule for automatic application of color changes in our pictures. To do this, copy to the desktop any “.png†picture from any folder with pictures (drawable ...), on which you can see some color, background and open it in Photoshop. Create a rule for the picture below:

Attached Image


We close the picture from the desktop, the rule is created (you can delete the file from the desktop)

3.4 - Batch Processing We start the batch processing of graphics according to our rule (which we created):
File>>Automation>>Batch processing

Attached Image


Note 1: Sometimes there are such pngs in which Photoshop shuts down and cannot apply the rule (for example, empty pngs), for this you just need to delete such a picture and start batch processing for the remaining pictures (for example, by moving to another folder, so as not to mix with those already processed)

Note2: For some graphic elements, it is better to select a color overlay separately (for example, for signal level icons, where it is necessary that the signal level is very different from the gray inactive signal field, or for switches in the curtain, when the inactive switches are gray and the active ones are colored.)
PS: In general, there is already complete freedom to edit, you can handle anything in a package at your discretion [/ i]

4. Compress graphics
Now we have all the png graphics of the color we need and it would be good to compress it, for this we need ABC (see point 2). The whole process is the same as in paragraph 2, with one exception - in the batch processing mode, you need to click "Options" (which is on the right) choose Filter "PAETH" , with this filter, the quality will not deteriorate, and the weight of the graphics will decrease by almost 2 times.
Attached Image

5. Packing apk file
[i] We go almost to the finish line, it remains to prepare the entire schedule, put it in our apk.

5.1 Open the folder with the original graphics (C: \ ApkTools \ framework-res \ res \ drawable-xhdpi(or drawable-hdpi)). Now the main thing is to be careful not to confuse anything - we transfer all the finished graphics (with corrected colors) from the desktop to the original folders, when replacing them, we replace them.

5.2 Return to the folderC: \ ApkTools \and drag the folder "Framework-res" on file apktool-b.cmd . A command line window will open and something will write there if you did everything correctly and the original system apk is correct - there no mistakes written should not be.

5.3 Upon completion of this operation, in the folder"C: \ ApkTools \ framework-res"a folder will appear "Build \ apk" , passing on which we will again see familiar folders with graphics drawable-xhdpi and others.

5.4 Now open the original apk file with the archiver Winrar and move on to the folders with graphics (res \ drawable-hdpieg)

5.5 You should have open 2 windows on the screen - one with archiver from clause 5.4 and folder in explorer from point 5.3 (with the address “C: \ ApkTools \ framework-res \ build \ apk \ res \â€). In the explorer, open the subfolders with graphics, select all the png files and drag them to the appropriate folder in WinRar (To the question about compression, select WITHOUT COMPRESSION )

5.6 Everything, our system apk is ready and you can put it in the phone.

5.7 MANDATORY BEFORE REPLACING IN THE PHONE - MAKE RESERVE COPIES (BEST IN CWM). T.K. SYSTEM FILES AND IF YOU DO SOMETHING NOT SO, THE PHONE MAY DOWNLOAD. All operations must be done carefully, then there will be no problems. According to this principle, I did everything from the 1st time right away with all the graphics in 3 system files and everything was loaded without any problems.

6. Signing apk
If we edit the apk file of the program that we need to install after (for example, you want to change the apk file of whatsapp), everything is done the same way as with the system apk, only you need to sign the application (otherwise it will not be installed). How to do it - there are 2 options.

1st) Drag and drop apk file changed to fileSign.cmd , it will be signed and it will be possible to install it (BUT, according to my statistics, not all applications are signed and installed), so it’s better to do it according to option 2:

2nd) Download and unarchive the program “Apk_manager", Copy our ready apk to the folder"Place-apk-here-for-signing" , run “Script.batâ€, enter 16 and press Entr, the program is signed and now you can just put it on the phone and it will be installed.

PS: Unfortunately, not all third-party programs can be edited, for example, with a client for reading.savagemessiahzine.comForum failed to replace the graphics - when unpacking \ packaging, a lot of errors fell out with the final phrase Aborted

Acknowledgments
sk0t - For ApkTools instructions
nastor - For Photoshop Tips and ABC
savagemessiahzine.comand other forum users))



Post has been editedDimar - 26.12.15, 18:16


--------------------
Hair color allows me to think ^^
♦ Samsung Galaxy S3 ♦ MIUI v4.4.25 ♦ In Waiting, Xiaomi Mi4 ♦
Friday_the13th
Message#24
01.02.13, 18:56
^ _ ^ Nyaya ^ _ ^
*******
[offline]

Group: Friendssavagemessiahzine.com
Messages 1167
Check in: 11.09.11
Honor 9 lite

Reputation:-  202    +

How to make a lock screen in the style of Galaxy note

original thread onXDA(but the author did not write there how to do it on an already installed firmware, so I thought of this point myself)
huge thankssk0tfor assistance in editing smali andden339for finding an easier way to add files

screenshots
Attached Image
Attached Image

garynych2010
Attached Image
Attached Image

gurulev77
Attached Image
Attached Image

Instruction
To successfully unpack and package the files, you must have framework-res.apk installed (if not, drag it to apktool-if.bat
work with framework.jar
1.Parse it through ApkTools
2.We need the file \ smali \ com \ android \ internal \ widget \ multiwaveview \ MultiWaveView.smali
If such a file is not found, then try to search in framework2.jar (if available)
If there is no such file, then the lock screen will not be altered !!!
3.We are looking for a line in it
.method private handleMove (Landroid / view / MotionEvent;) V

4.Next under this line you need to find
invoke-direct {v0, v1, v2, v3}, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->switchToState (IFF) V

There are a lot of such lines in this file, we need exactly this, which is after the line of their clause 3
Instead of v0, v1, v2, v3 you may have something else.
5. After it is necessary to insert
move-object / from16 v0, p0

iget-object v0, v0, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->mOuterRing: Lcom / android / internal / widget / multiwaveview / TargetDrawable;

sget-object v1, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->STATE_ACTIVE: [I

invoke-virtual {v0, v1}, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->setState ([I) V

it should work out
invoke-direct {v0, v1, v2, v3}, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->switchToState (IFF) V

move-object / from16 v0, p0

iget-object v0, v0, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->mOuterRing: Lcom / android / internal / widget / multiwaveview / TargetDrawable;

sget-object v1, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->STATE_ACTIVE: [I

invoke-virtual {v0, v1}, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->setState ([I) V

6.After the first
invoke-direct {v0, v1, v2, v3}, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->switchToState (IFF) V

should be the second same line, looking for it.
I recommend at this stage not to use the search on the document, but to find it manually. A gap between them is about 300 lines
After it we insert
move-object / from16 v0, p0

iget-object v0, v0, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->mOuterRing: Lcom / android / internal / widget / multiwaveview / TargetDrawable;

sget-object v1, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->STATE_INACTIVE: [I

invoke-virtual {v0, v1}, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->setState ([I) V

it should work
invoke-direct {v0, v1, v2, v3}, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->switchToState (IFF) V

move-object / from16 v0, p0

iget-object v0, v0, Lcom / android / internal / widget / multiwaveview / MultiWaveView; ->mOuterRing: Lcom / android / internal / widget / multiwaveview / TargetDrawable;

sget-object v1, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->STATE_INACTIVE: [I

invoke-virtual {v0, v1}, Lcom / android / internal / widget / multiwaveview / TargetDrawable; ->setState ([I) V

7.That's all, work with framework.jar is over. Putting it back through ApkTool
file \ build \ apk \ classes.dex to move with the replacement of the original in the framework.jar

2. Work with framework-res.apk
1.Parse it through ApkTools
2.Add files from the archive to the disassembled framework-res observing the folder names
Attached fileframework-res.apk.rar(74.13 KB)

3.Next, open the file res \ layout \ keyguard_screen_tab_unlock.xml
in it we are looking for a line beginning with
<com.android.internal.widget.multiwaveview.MultiWaveView

it should look something like this
<com. : dev: => @ array / lockscreen_target_description_with_camera "android: directionDescriptions =" ​​@ array / lockscreen_direction_description "android: target: dev: =";) dev; = "@ array / lockscreen_targets_with_eng; = @ @ @" : waveDrawable = "@ drawable / ic_lockscreen_outerring" android: outerRadius = "@ dimen / multiwaveview_target_placement_radius" android: hitRadius = "@ dimen / multiwaveview_hit_radius" android: vibrationDuration = "20" android: snapMargin = "@ / roid / multihaw_radius" android: vibrationDuration = "20" android: snapMargin = "@ ap / apap_ multiradi_radius "3" android: verticalOffset = "60.0dip" android: horizontalOffset = "0.0dip" />

It needs to be replaced@ drawable / ic_lockscreen_handleon@ drawable / ic_lockscreen_handle_newand@ drawable / ic_lockscreen_outerringon@ drawable / ic_lockscreen_outerring_new
also need propertyverticalOffsetequal0and removeandroid: rightChevronDrawable = "@ drawable / ic_lockscreen_chevron_right"(if leftChevronDrawable is his too)
4.Next, open res \ values ​​\ arrays.xml
it needs to be replaced
<array name = "lockscreen_targets_with_camera">
<item>@ drawable / ic_lockscreen_unlock</ item>
<item>@null</ item>
<item>@ drawable / ic_lockscreen_camera</ item>
<item>@null</ item>
</ array>
<array name = "lockscreen_target_descriptions_with_camera">
<item>@ string / description_target_unlock</ item>
<item>@null</ item>
<item>@ string / description_target_camera</ item>
<item>@null</ item>
</ array>

on
<array name = "lockscreen_targets_with_camera">
<item>@ drawable / ic_lockscreen_unlock</ item>
</ array>
<array name = "lockscreen_target_descriptions_with_camera">
<item>@ string / description_target_unlock</ item>
</ array>

5.Open \ res \ drawable \ ic_lockscreen_unlock.xml
see such content
<? xml version = "1.0" encoding = "utf-8"?>
<selector
xmlns: android = "http://schemas.android.com/apk/res/android">
<item android: state_focused = "false" android: state_enabled = "true" android: state_active = "false" android: drawable = "@ drawable / ic_lockscreen_unlock_normal" />
<item android: state_focused = "false" android: state_enabled = "true" android: state_active = "true" android: drawable = "@ drawable / ic_lockscreen_unlock_activated" />
</ selector>

we change@ drawable / ic_lockscreen_unlock_normalon@ drawable / ic_lockscreen_transand@ drawable / ic_lockscreen_unlock_activatedon@ drawable / ic_lockscreen_trans
6.This completes the work in framework-res.apk. Putting it back. In the original archive you need to replace the files that we edited with the files from the \ build \ apk \ folder
  • resources.arsc
  • \ res \ layout \ keyguard_screen_tab_unlock.xml
  • \ res \ drawable \ ic_lockscreen_handle_new.xml
  • \ res \ drawable \ ic_lockscreen_outerring_new.xml
  • \ res \ drawable \ ic_lockscreen_unlock.xml
  • \ res \ drawable-hdpi \ ic_lockscreen_trans.png
  • \ res \ drawable-hdpi \ ic_newblock.png
  • \ res \ drawable-hdpi \ ic_newblock_pressed.png

Files to take it from \ build \ apk \, and not from the archive!
Observe file compression!if the file was compressed - put the usual compression, if not - then without compression

If framework.jar and framework-res.apk are assembled without errors, then you can proceed to the installation.
3. Installation
1. Copy these 2 files to your phone in any folder in any convenient way.
2.Via® Root Exploreror another file manager with root access support, move them to the \ system folder
3.Set the right of the letter "G" in both files
4.It remains only to move both files to the \ system \ framework folder and restart the phone.

After the phone restarts, Google Play may stop working. To restore the market to work, you must move the file \ system \ app \ Vending.apk to any other folder, restart the phone and move it back. For other applications, the medication is the same.


Tested on:
  • CM9
  • Sony Xperia Sola ics 4.0.4
  • Alcatel OT-993D ics 4.0.4


Post has been editedDimar - 06.11.15, 21:35
Reason for editing: *


--------------------
Honor 9 lite- Stoke8.0.0
Highscreen Zera S rev S- CM13 + Sony SBH80
Asus Nexus 7 2013 LTE- Stoke6.0.1
sk0t
Message#25
05.02.13, 23:18
Picker APK
********
[offline]

Group: Friendssavagemessiahzine.com
Messages 1935
Check in: 03.12.09
HTC Desire S

Reputation:-  4398  +

And it will be useful for fans to change system icons apk
(This archive changes the Contacts and Phone icons for HDPI devices with android 4)


Made an archive for recovery when applied inClockWorkMod Recoveryresources in apk are replacedAttached filerreplacer.zip(538.99 KB)

All that is required is to put a folder named apk (Contacts.apk) in the MOD folder, in which the picture is in the same folder as the apk itself (res / mipmap-hdpi / ic_launcher_phone.png)
Well, sign
The script reads the name of the folder (there may be a lot of folders), searches for apk with that name in the system / app, then in the system / framework, if it does not find it, writes sd to the log file (rreplacer.txt).
If it finds the contents of this folder in apk (that is, you can change any files in apk, not just pictures)
If you get an error when applying the archivestatus 0must be replaced in the archiveMETA-INF / com / google / android /update-binaryfile from the working archive for CWM

Post has been editedDimar - 06.11.15, 21:38
Reason for editing: *


--------------------
Winner of the Sixth Prizesavagemessiahzine.comin the "Rescuer 2011" nomination
.: Instructions and tools :.
garynych2010
Message#26
26.02.13, 18:04
Guru
*********
[offline]

Group: Friendssavagemessiahzine.com
Messages 6872
Check in: 07.10.12
Sony Xperia M5

Reputation:-  1968  +

Button Icon, Calling Power Menu for Android 4 ICS
When you click on it, the screen turns off, with a long tap appearsPower menu

checked on 4.0.4.- works;)

Instruction
ParseSystemUI.apkand in the folder SystemUI \ res \drawable-hdpiadd an iconic_sysbar_lock.png, size 48x48.
then we collect, and again we sort, and from the resulting folder dist, we copy with replacement the file \ SystemUI \ res \ values ​​\public.xmlin our editableSystemUI.
now in SystemUI file \ res \ layout \status_bar.xmladd this code
<com.android.systemui.statusbar.policy.KeyButtonView android: id = "@ id / back" android: paddingLeft = "4.0dip" android: paddingRight = "0.0dip" android: layout_width = "wrap_content" android: layout_height = "fill_parent "android: src =" @ drawable / ic_sysbar_lock "android: layout_toRightOf =" @ id / recent_apps "android: contentDescription =" @ string / accessibility_back "systemui: keyCode =" 26 "systemui: glowBackground =" @ drawable / ic_sysbar_highlight "/>

after
<ImageView android: gravity = "center" android: id = "@ id / battery" android: paddingLeft = "4.0dip" android: layout_width = "wrap_content" android: layout_height = "wrap_content" />

This, for example, for my battery (in short, as you need, go there and stick it;))
we collect according to the instructions.

result
Attached Image

Addition


Post has been editedDimar - 06.11.15, 22:18
Reason for editing: *


--------------------
sk0t
Message#27
01.03.13, 16:28
Picker APK
********
[offline]

Group: Friendssavagemessiahzine.com
Messages 1935
Check in: 03.12.09
HTC Desire S

Reputation:-  4398  +

Advanced PowerMenu with reboot options for Android 4.0; 4.1; 4.2


Files and instructions for 4.0 ICS
Attached filereboot_options.rar(2.11 KB)
Work with framework-res.apk
Parseframework-res.apk
1. Add toframework-res / res / drawable-hdpipictureic_lock_reboot.png
2. Add toframework-res / res / values ​​/strings.xmlline:
Code
<string name = "global_action_reboot">Reboot</ string>

3. Add toframework-res / res / values ​​/arrays.xmllines:
Code
<string-array name = "reboot_options">
<item>Hot boot</ item>
<item>Normal</ item>
<item>Recovery</ item>
</ string-array>
<string-array name = "reboot_modes">
<item>hotboot</ item>
<item>now</ item>
<item>recovery</ item>
</ string-array>

4. Add toframework-res / res / values-en /strings.xmlline:
Code
<string name = "global_action_reboot">Reboot</ string>

5. Add toframework-res / res / values-en /arrays.xmllines:
Code
<string-array name = "reboot_options">
<item>Fast</ item>
<item>Ordinary</ item>
<item>Recovery</ item>
</ string-array>

We collectframework-res.apk

6. Go to the folderframework-res / dist
And parse the framework-res.apk lying there (in this apk, the correct IDs for the added lines / pictures are already assigned)
we copy with replacement fileframework-res / dist / framework-res / res / values ​​/public.xml
to folderframework-res / res / values ​​/
7. Openframework-res / res / values ​​/public.xmland look for added lines / picture (you will probably have other id)
Code
<public type = "string" name = "global_action_reboot" id = "0x010404db" />
...
<public type = "array" name = "reboot_options" id = "0x01070033" />
<public type = "array" name = "reboot_modes" id = "0x01070034" />
...
<public type = "drawable" name = "ic_lock_reboot" id = "0x010805e8" />
Remember found ID

8. Openframework-res / res / values-en /strings.xml
We are looking for a line from the menu to turn off the phone, I have this "Power off"
<string name = "global_action_power_off">Power off</ string>
rememberglobal_action_power_off
Open upframework-res / res / values ​​/public.xml
We are looking for the memorizedglobal_action_power_off
<public type = "string" name = "global_action_power_off" id = "0x0104012f" />
Remember the ID found104012f(without zeros at the beginning)

We collectframework-res.apk, in the original we changeresources.arscand add a picture inres / drawable-hdpi
Work with android.policy.jar
All that after “#†are my comments, you do not need to add them
1. We disassembleandroid.policy.jar(same as apk using ApkTools)

2. Openandroid.policy / smali / com / android / internal / policy / impl /GlobalActions.smali
We are looking for the memorized off line ID104012f
Code
.line 204
iget-object v0, p0, Lcom / android / internal / policy / impl / GlobalActions; ->mItems: Ljava / util / ArrayList;

new-instance v1, Lcom / android / internal / policy / impl / GlobalActions $ 2;

const v2,0x1080030

const v3, 0x104012f # This is the shutdown line id

invoke-direct {v1, p0, v2, v3}, Lcom / android / internal / policy / impl / GlobalActions $ 2; -><init>(Lcom / android / internal / policy / impl / GlobalActions; II) V

invoke-virtual {v0, v1}, Ljava / util / ArrayList; ->add (Ljava / lang / Object;) Z
Here we need to rememberGlobalActions $ 2- in this file, the phone shutdown method

3. Copy these lines from .line to .line and paste immediately after them

4. Replace id with memorized
Code
.line 204
iget-object v0, p0, Lcom / android / internal / policy / impl / GlobalActions; ->mItems: Ljava / util / ArrayList;

new-instance v1, Lcom / android / internal / policy / impl / GlobalActions $ 99; # Replacing GlobalActions $ 2 ->GlobalActions $ 99

const v2.0x1080030 # Replacement 1080030 ->10805e8 (id pictures ic_lock_reboot)

const v3, 0x10404db Replacement 104012f ->10404db (global_action_reboot line id)

invoke-direct {v1, p0, v2, v3}, Lcom / android / internal / policy / impl / GlobalActions $ 99; -><init>(Lcom / android / internal / policy / impl / GlobalActions; II) V # Replacing GlobalActions $ 2 ->GlobalActions $ 99

invoke-virtual {v0, v1}, Ljava / util / ArrayList; ->add (Ljava / lang / Object;) Z
Save the file

5. Open the file in the same folder with the method of turning off the phone -GlobalActions $ 2
look for the string
#getter for: Lcom / android / internal / policy / impl / GlobalActions; ->mContext: Landroid / content / Context;
the next line will be the wordaccess $100red number may be different
If the number is different - remember

6. Copy the files from the downloaded archive to this folder -GlobalActions $ 99.smaliandGlobalActions $ 99 $ 1.smali

7. Open the fileGlobalActions $ 99.smali
If the number in paragraph 5access $ 100there was another - we replace all access $ 100 with the remembered (for example access $ 100 ->access $ 200)
We change the specified id on the
Code
# virtual methods
.method public onPress () V
.locals 6

const / 4 v5, 0x4

new-instance v1, Landroid / app / alertDialog $ Builder;

iget-object v2, p0, Lcom / android / internal / policy / impl / GlobalActions $ 99; ->this $ 0: Lcom / android / internal / policy / impl / GlobalActions;

invoke-static {v2}, Lcom / android / internal / policy / impl / GlobalActions; ->access $ 100 (Lcom / android / internal / policy / impl / GlobalActions;) Landroid / content / Context;

move-result-object v2

invoke-direct {v1, v2}, Landroid / app / alertDialog $ Builder; -><init>(Landroid / content / Context;) V

const v2, 0x10404db # Replacing the id of the global_action_reboot string

invoke-virtual {v1, v2}, Landroid / app / alertDialog $ Builder; ->setTitle (I) Landroid / app / alertDialog $ Builder;

move-result-object v1

const v2.0x10805e8 # Replacing id pictures ic_lock_reboot

invoke-virtual {v1, v2}, Landroid / app / alertDialog $ Builder; ->setIcon (I) Landroid / app / alertDialog $ Builder;

move-result-object v1

const v2.0x1070033 # Replacing id id array (array) reboot_options

8. Open the fileGlobalActions $ 99 $ 1.smali
If the number in paragraph 5access $ 100there was another - we replace all access $ 100 with the remembered (for example access $ 100 ->access $ 200)
We change the specified id on the
Code
invoke-virtual {v2}, Landroid / content / Context; ->getResources () Landroid / content / res / Resources;

move-result-object v2

const v3, 0x1070034 # Replacing id of array (array) reboot_modes

invoke-virtual {v2, v3}, Landroid / content / res / Resources; ->getStringArray (I) [Ljava / lang / String;
We collectandroid.policy, in the original we changeclasses.dex

Files for 4.0 ICS - 4.2 Jelly Bean
Attached filerebootOptionsICSJB.rar(3.01 KB)

The instruction is the same, the only thing you need to look for
#getter for: Lcom / android / internal / policy / impl / GlobalActions; ->mContext: Landroid / content / Context;
in filesGlobalActions $ 1.smali - GlobalActions $ 9.smaliand Replace the id of the array (array) reboot_modes will be in the fileGlobalActions $ 99 $ 2.smali
If there is no such line (#getter for: Lcom / android / internal / policy / impl / GlobalActions; ->mContext: Landroid / content / Context;)
the number for access can be found inGlobalActions.smali
need to find such a method
Code
.method static synthetic access $ 100 (Lcom / android / internal / policy / impl / GlobalActions;) Landroid / content / Context;
.locals 1
.parameter "x0"

.prologue
.line 56
iget-object v0, p0, Lcom / android / internal / policy / impl / GlobalActions; ->mContext: Landroid / content / Context;

return object v0
.end method
just find it by the wordmContext

Files for 4.0 ICS - 4.2 Jelly Bean for Sony
Attached filerebootOptionsICSJBsony.rar(3.11 KB)
In Sony phones, a reboot in recovery occurs only if there is a file./ cache / recovery / boot
In this set of files, this file is created when selecting the itemRecovery

Additionally
Items can be swapped, delete unnecessary
the main thing is toreboot_optionsmatchedreboot_modes
Hot Boot ->hotboot <- Quickly
Recovery ->recovery <- Recover
Normal ->now <- Usually
Download ->download <- Firmware (this is for Samsung)
Bootloader ->bootloader <- bootloader (this is for HTC)

Screenshots
Attached Image
Attached Image


Post has been editedDimar - 06.11.15, 22:02
Reason for editing: *


--------------------
Winner of the Sixth Prizesavagemessiahzine.comin the "Rescuer 2011" nomination
.: Instructions and tools :.
vandizel
Message#28
05.03.13, 18:34
Guru
*********
[offline]

Group: Friendssavagemessiahzine.com
Messages 8375
Check in: 27.12.09
Honor View 20 6/128

Reputation:-  1154  +

Code examples. We insert and rule ... how and where you like!
Elements of the status bar


Editing
SystemUI.apk / res / layout / status_bar.xml
watch with seconds
<DigitalClock android: textAppearance = "@ style / TextAppearance.StatusBar.Clock" android: gravity = "left | center" android: id = "@ id / clock" android: paddingLeft = "6.0dip" android: paddingRight = "6.0dip" android: layout_width = "wrap_content" android: layout_height = "fill_parent" android: singleLine = "true" />
separator
<TextView android: textSize = "18.0sp" android: textColor = "# ff339bc1" android: gravity = "left | center" android: id = "@ id / clock" android: paddingRight = "6.0dip" android: layout_width = "wrap_content "android: layout_height =" wrap_content "android: text =" @string / status_bar_network_name_separator "/>
date
<com.android.systemui.statusbar.policy.DateView android: textAppearance = "@ style / TextAppearance.StatusBar.Clock" android: gravity = "left | center" android: id = "@ id / date" android: paddingRight = "6.0 dip "android: layout_width =" wrap_content "android: layout_height =" wrap_content "android: singleLine =" true "android: layout_toRightOf =" @ id / clock "android: layout_alignBaseline =" @ id / clock "/>
separator
<TextView android: textSize = "18.0sp" android: textColor = "# ff339bc1" android: gravity = "left | center" android: id = "@ id / clock" android: paddingRight = "6.0dip" android: layout_width = "wrap_content "android: layout_height =" wrap_content "android: text =" @string / status_bar_network_name_separator "/>
speed
<in.jmkl.dcsms.statusbargreper.DataTrafik android: textAppearance = "@ style / TextAppearance.StatusBar.Clock" android: gravity = "left | center" android: id = "@ id / date" android: paddingRight = "6.0dip" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: singleLine = "true" android: layout_toRightOf = "@ id / clock" android: layout_alignBaseline = "@ id / clock" />
separator
<TextView android: textSize = "18.0sp" android: textColor = "# ff339bc1" android: gravity = "left | center" android: id = "@ id / clock" android: paddingRight = "6.0dip" android: layout_width = "wrap_content "android: layout_height =" wrap_content "android: text =" @string / status_bar_network_name_separator "/>

The distance between the elements is given by the values.
android: paddingRight = "6.0dipright indent
android: paddingLeft = "6.0dipleft indent

+ smali to display networkAttached fileNetwork.zip(4.74 KB)

So here's a status bar myself made.
Attached Image


Post has been editedDimar - 06.11.15, 22:08
Reason for editing: *
smart-ass_fox
Message#29
26.03.13, 20:54
Imagine Dragons | Muse
*********
[offline]

Group: Friendssavagemessiahzine.com
Messages 5504
Check in: 12.09.11
Xiaomi Redmi Note 4X Snapdragon 3/32

Reputation:-  1041  +



Instructiongarynych2010It turned out to be inoperative on the tablet - tablet ui. I had to correct.

Instruction
1) disassemble SystemUI.apk
2) Open the fileres / layout-sw600dp / status_bar_notification_area.xmlIt is worth noting that for some, the layout-sw600dp folder may have a different number in the name - this depends on the density of the display points of the device.
We are looking for such a code
<LinearLayout android: gravity = "center" android: orientation = "horizontal" android: id = "@ id / signal_battery_cluster" android: layout_width = "wrap_content" android: layout_height = "fill_parent" android: layout_marginRight = "0.0dip">
<include android: id = "@ id / signal_cluster" android: layout_width = "wrap_content" android: layout_height = "wrap_content" layout = "@ layout / signal_cluster_view" />
<ImageView android: id = "@ id / bluetooth" android: paddingLeft = "4.0dip" android: visibility = "gone" android: layout_width = "wrap_content" android: layout_height = "wrap_content" />
<ImageView android: id = "@ id / battery" android: paddingLeft = "4.0dip" android: layout_width = "wrap_content" android: layout_height = "wrap_content" />
</ LinearLayout>

3) We see that the last in the list is a battery charge level indicator. We paste the following code below:
<com.android.systemui.statusbar.policy.KeyButtonView android: id = "@ id / button" android: paddingLeft = "4.0dip" android: paddingRight = "4.0dip" android: layout_width = "wrap_content" android: layout_height = "fill_parent "android: src =" @ drawable / ic_sysbar_lock "android: layout_toRightOf =" @ id / battery "android: contentDescription =" @ string / accessibility_back "systemui: keyCode =" 26 "systemui: glowBackground =" @ drawable / ic_sysbar_highlight "/>

4) We throw in the res / drawable / mdpi / picture - button. I think some will not have mdpi but hdpi. The code has the ic_sysbar_lock picture - so it should be named ic_sysbar_lock.png. You can put an image with any name along the specified path, but in the code then we also change the name to our own.
5) We collect SystemUI.apk

We have in the lower right corner of the screen a lock button and call the shutdown menu with a long tap.
Attached Image


Post has been editedDimar - 06.11.15, 22:16
Reason for editing: *


--------------------
Whatever you think of me, know that I'm worse. So do not mess.
twin111
Message#30
27.03.13, 09:57
Do not be afraid if you are alone, be afraid
*******
[offline]

Group: Friendssavagemessiahzine.com
Messages 1212
Check in: 03.02.12
Xiaomi Mi Max 2 4/64

Reputation:-  131  +

The effect of the old TV on ICS 4.0.4

I did everything according to this instruction:Enabling CRT-off Animation on Stock ICS roms

Instruction
We will need to edit two files framework-res.apk and services.jar
framework-res.apk edit fromOld tv animation
proceed to services.jar
smali \ com \ android \ server \ PowerManagerService.smali

look for the string:

invoke-direct {p0, p1}, Lcom / android / server / PowerManagerService; ->nativeStartSurfaceFlingerAnimation (I) V

result:

.method static synthetic [color = red] access $ 5300 [/ color] (Lcom / android / server / PowerManagerService; I) V
.locals 0
.parameter "x0"
.parameter "x1"

.prologue
.line 89
invoke-direct {p0, p1}, Lcom / android / server / PowerManagerService; ->nativeStartSurfaceFlingerAnimation (I) V

in the top line we look at the code that is written here [color = red] access $ XXXX [/ color], I have 5300, you may have another
remembered or recorded as convenient for anyone

Next, go to: PowerManagerService $ BrightnessState.smali

look for the string:

: try_start_1

we get:

.line 2449
.restart local v3 #turningOff: Z
: cond_4

: try_start_1
iget-object v4, p0, Lcom / android / server / PowerManagerService $ BrightnessState; ->this $ 0: Lcom / android / server / PowerManagerService;

#getter for: Lcom / android / server / PowerManagerService; ->mAnimationSetting: I
invoke-static {v4}, Lcom / android / server / PowerManagerService; ->access $ 1700 (Lcom / android / server / PowerManagerService;) I
: try_end_1
.catchall {: try_start_1 ..: try_end_1}: catchall_0

move-result v4

between the lines:

: cond_4 and: try_start_1 insert these lines:

[color = red] iget-object v4, p0, Lcom / android / server / PowerManagerService $ BrightnessState; ->this $ 0: Lcom / android / server / PowerManagerService;

const / 16 v3, 0x11

#calls: Lcom / android / server / PowerManagerService; ->nativeStartSurfaceFlingerAnimation (I) V
invoke-static {v4, v3}, Lcom / android / server / PowerManagerService; ->[color = green] access $ 5300 [/ color] (Lcom / android / server / PowerManagerService; I) V [/ color]

draw attention to the last line where [color = green] access $ 5300 [/ color] should be your code

should look like this:

.line 2449
.restart local v3 #turningOff: Z
: cond_4
[color = red] iget-object v4, p0, Lcom / android / server / PowerManagerService $ BrightnessState; ->this $ 0: Lcom / android / server / PowerManagerService;

const / 16 v3, 0x11

#calls: Lcom / android / server / PowerManagerService; ->nativeStartSurfaceFlingerAnimation (I) V
invoke-static {v4, v3}, Lcom / android / server / PowerManagerService; ->access $ 5300 (Lcom / android / server / PowerManagerService; I) V [/ color]
: try_start_1
iget-object v4, p0, Lcom / android / server / PowerManagerService $ BrightnessState; ->this $ 0: Lcom / android / server / PowerManagerService;

#getter for: Lcom / android / server / PowerManagerService; ->mAnimationSetting: I
invoke-static {v4}, Lcom / android / server / PowerManagerService; ->access $ 1700 (Lcom / android / server / PowerManagerService;) I
: try_end_1
.catchall {: try_start_1 ..: try_end_1}: catchall_0

move-result v4


and on it we collect everything we install


Post has been editedDimar - 03.11.15, 21:43
Reason for editing: *


--------------------
HTC Desire / Huawei U8860 Honor / Huawei U8950-1 (PCT Stock) + MediaPad FHD S10-101L (B002-Stock) / MegaFon Login + / Lenovo A6000
razorblade
Message#31
11.04.13, 13:52
androidophilus
********
[offline]

Group: Friendssavagemessiahzine.com
Messages 1397
Check in: 23.07.12
Huawei U9508 Honor 2

Reputation:-  284  +

Another solution for statusbar transparency

Instruction
1-unpack SystemUI
2-open SystemUI / smali / com / android / systemui / statusbar / StatusBar.smali ---->here I will explain, we make changes in another file
are looking for
invoke-direct / range {v11 .. v16}, Landroid / view / WindowManager $ LayoutParams; -><init>(IiIII) v

above this line we replace it
const / 16 v16, 0x4

on this
const / 16 v16, -0x3


then go to SystemUI / res / values ​​/ drawables.xml
and change this parameter by color
<item type = "drawable" name = "status_bar_background">


Post has been editedDimar - 08.11.15, 08:36
Reason for editing: *


--------------------
new motto Microsoft
o.OSomething happenso.O
ura_aktobe
Message#32
01.05.13, 00:17
Follow the dream
*********
[offline]

Group: Friendssavagemessiahzine.com
Messages 3505
Check in: 25.04.12

Reputation:-  763  +

A little bit of money, a boring evening was, I sat down to experiment:
The height of the volume scale in Android 4.0.4 (when you press the volume + / -)
For the height of this bar, this file is tweaked in Framework-res.apk
Way:Framework-res.apk / res / values ​​/dimens.xml
Line: <dimen name = "volume_panel_top">80.0dip</ dimen>(I have line 71)
Standard sign: 80.0dip
I change to 15.0dip and get:
It was
Attached Image

has become
Attached Image


Turn on screen rotation: all 4 sides
Framework-res.apk / res / values ​​/bools.xml
Value:
<bool name = "config_allowAllRotations">false</ bool>
change to:
<bool name = "config_allowAllRotations">true</ bool>
Now the settings menu, browser and other applications can be turned around as you like (for example, reading the Internet and not pressing the touch buttons of a smart)

Rotation of Lockcreen (on the side)
Attached Image

Framework-res.apk / res / values ​​/bools.xml
Value:
<bool name = "config_enableLockScreenRotation">false</ bool>
Change to:
<bool name = "config_enableLockScreenRotation">true</ bool>
ZY Some OS crashes itself (Will restart) if you put a lock on the screen - a graphic key.

For the notification message button (I have it now gray)
Attached Image

Answers: Framework-res.apk / res / drawable-hdpi (your screen resolution) /notify_panel_notification_icon_bg.png


Post has been editedDimar - 07.11.15, 19:38
Reason for editing: *


--------------------
4Be yourself - and everything will go as it should.
Spaun_Studio
Message#33
02.05.13, 16:10
Veteran
********
[offline]

Group: Honorary Gameday
Messages 1706
Check in: 05.03.09
Xiaomi Redmi 4 Prime

Reputation:-  888    +

Transparent statusbar on Jelly Bean


Description
So, quite suddenly and unexpectedly (especially for Sony), the unofficial JB came out on Xperia Sola. Well, I can not without transparency. Faced with the fact that the network does not have instructions on how to implement transparency on 4.1.2. One kind man namedman03threw a link to the mod, which as a result and became the basis of the method. Slightly redid, true - one editing smali less.
Actually, the method works exactly, the status bar is transparent, you can set any degree.

Step 1: android.policy.jar
The most difficult thing is to find the desired string. Below are two spoilers, BEFORE and AFTER, guided by the lines next to each other.
Red- what needs to be replaced. In russki- demolish nafig.
Green- what needs to be replaced. In Russian- add
Blue- what you need to focus on.
Open the fileandroid.policysmalicomandroidinternalpolicyimplPhoneWindowManager.smali
BEFORE
.line 2552
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemTop: I

iput v0, p1, Landroid / graphics / Rect; ->top: I

.line 2553
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemRight: I

iput v0, p1, Landroid / graphics / Rect; ->right: I

.line 2554
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemBottom: I

iput v0, p1, Landroid / graphics / Rect; ->bottom: I

.line 2555
iget-object v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v0,: cond_0

iget-object v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mStatusBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v0}, Landroid / view / WindowManagerPolicy $ WindowState; ->getSurfaceLayer () I

move-result v0

.line 2557
: goto_0
return v0

.line 2556
: cond_0
iget-object v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mNavigationBar: Landroid / view / WindowManagerPolicy $ WindowState;

if-eqz v0,: cond_1

iget-object v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mNavigationBar: Landroid / view / WindowManagerPolicy $ WindowState;

invoke-interface {v0}, Landroid / view / WindowManagerPolicy $ WindowState; ->getSurfaceLayer () I

move-result v0

goto: goto_0

.line 2557
: cond_1
const / 4 v0, 0x0

goto: goto_0

.end method

AFTER
.line 2552
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemTop: I

iput v0, p1, Landroid / graphics / Rect; ->top: I

.line 2553
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemRight: I

iput v0, p1, Landroid / graphics / Rect; ->right: I

.line 2554
iget v0, p0, Lcom / android / internal / policy / impl / PhoneWindowManager; ->mSystemBottom: I

iput v0, p1, Landroid / graphics / Rect; ->bottom: I

const / 4 v0, 0x0

return v0

.end method

Shl. Copy it entirely, do not follow line breaks and spaces.

Step 2: SystemUI.apk
And here everything is very simple, we open our favoriteSystemUIresvaluesdrawables.xmland rule selected as we want,degree of transparency (standard FF)andshade (standard 000000). I did this:
<item type = "drawable" name = "status_bar_background">#5a000000</ item>


thankman03for a tip)

Post has been editedDimar - 07.11.15, 20:14
Reason for editing: *


--------------------
Samsung X100 =>Nokia 3230 =>Siemens M75 =>Siemens S75 =>Nokia N73 ME =>Nokia 6720 Classic =>Sony Ericsson Xperia Neo =>Sony Xperia Sola =>Samsung S4 Mini =>Xiaomi Redmi 4 Prime
Regnits
Message#34
12.05.13, 12:54
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 200
Check in: 21.11.12
Samsung Galaxy S3 GT-I9300

Reputation:-  74  +

Changing the color of the clock, date and charge on the lockscreen for the tablet


Instruction
1. Unpacking Framework-res.apk (I use a set from a reputablesk0t)
2. In the unpacked Framework-res.apk, go here Framework-res \ res \ layout-sw600dp
3. Find the files keyguard_screen_status_land.xml and keyguard_screen_status_port.xml
4. Find the following lines. Focusing onblue lettering

<? xml version = "1.0" encoding = "utf-8"?>
<LinearLayout android: gravity = "right" android: orientation = "vertical" android: layout_width = "wrap_content" android: layout_height = "wrap_content"
xmlns: android = "http://schemas.android.com/apk/res/android ">
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp" android: ellipsize = "marquee" android: id = "@ id / carrier" android: visibility = "gone" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "32.0dip" android: singleLine = "true" android: drawablePadding = "4.0dip" />
<com.android.internal.widget.DigitalClockandroid: id = "@ id / time" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "8.0dip" android: layout_marginBottom = "8.0dip">
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "@ dimen / keyguard_pattern_unlock_clock_font_size" android: textColor = "@ color / lockscreen_clock_background" android: ellipsize = "none android: id =" "wrap_content" android: layout_height = "wrap_content" android: layout_marginBottom = "6.0dip" android: singleLine = "true" />
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "@ dimen / keyguard_pattern_unlock_clock_font_size"android: textColor = "@ color / lockscreen_clock_foreground"Android: ellipsize = "none" Android: id = "@ id / timeDisplayForeground" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginBottom = "6.0dip" android: singleLine = "true" android: layout_alignLeft = "@ id / timeDisplayBackground" android: layout_alignTop = "@ id / timeDisplayBackground" />


5. What is highlighted in red and the color of the clock on the lockscreen
6. We will not change anything here
7. Looking for another folder framework-res \ res \ values-sw600dp \
8. Find the colors.xml file

<? xml version = "1.0" encoding = "utf-8"?>
<resources>
<color name = "lockscreen_clock_background">#ffffffff</ color>
<color name = "lockscreen_clock_foreground">#ffffffff</ color>
<color name = "lockscreen_clock_am_pm">#ffffffff</ color>
<color name = "lockscreen_owner_info"># ff9a9a9a</ color>
</ resources>


9. This is the color of the clock (what is highlighted in red)
10. Change to any color (which you want)
11. Now for the date and charge
12. Open the file from step 3 and find the lines

</com.android.internal.widget.DigitalClock>
<LinearLayout android: orientation = "horizontal" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "10.0dip" android: layout_below = "@ id / time">
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: id = "@ id / date" android: layout_width = "wrap_content" android: layout_height = "wrap_content" />
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: id = "@ id / alarm_status" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginLeft = "16.0dip" android: drawablePadding = "4.0dip" />
</ LinearLayout>
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: id = "@ id / status1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "10.0dip" />
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: textColor = "@ color / lockscreen_owner_info" android: id = "@ id / propertyOf" android: visibility = "invisible" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "20.0dip" android : singleLine = "false" android: lineSpacingExtra = "8.0dip" />
</ LinearLayout>


13. And add the following line android: textColor = "@ color / lockscreen_clock_foreground"
14. Get the following

</com.android.internal.widget.DigitalClock>
<LinearLayout android: orientation = "horizontal" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "10.0dip" android: layout_below = "@ id / time">
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: textColor = "@ color / lockscreen_clock_foreground"android: id = "@ id / date" android: layout_width = "wrap_content" android: layout_height = "wrap_content" />
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: textColor = "@ color / lockscreen_clock_foreground"android: id = "@ id / alarm_status" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginLeft = "16.0dip" android: drawablePadding = "4.0dip" />
</ LinearLayout>
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: textColor = "@ color / lockscreen_clock_foreground"android: id = "@ id / status1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "10.0dip" />
<TextView android: textAppearance = "? TextAppearanceMedium" android: textSize = "16.0sp"android: textColor = "@ color / lockscreen_clock_foreground"android: textColor = "@ color / lockscreen_owner_info" android: id = "@ id / propertyOf" android: visibility = "invisible" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginTop = "20.0dip" android : singleLine = "false" android: lineSpacingExtra = "8.0dip" />
</ LinearLayout>


15. Adding lines to produce fileskeyguard_screen_status_land.xml and keyguard_screen_status_port.xml
16. If you add only one, then when you turn the tablet, the letters will be white !!!!
17. We collect and admire

Screenshot
Attached Image


Post has been editedDimar - 07.11.15, 20:16
Reason for editing: *


--------------------
Archos 101 G9 Turbo FS 16 GB
Android 4.0.4 (ICS) 4.0.28 BUILD 4
Samsung Galaxy S3 Duos GT-I9300I
ura_aktobe
Message#35
12.05.13, 13:31
Follow the dream
*********
[offline]

Group: Friendssavagemessiahzine.com
Messages 3505
Check in: 25.04.12

Reputation:-  763  +

The color of the clock with the curtain closed on the Acer Tablet. (For example, Acer iconia TAB a210) (Android 4.1.1)


Instruction
We are sorting out SystemUI.apk (we have fewer problems through apkManager)
We look below the path-
Attached Image
and in the same place I selected 2 lines. 1 shows which blog we’ll be editing and the second is that in this block we’re editing (it's hard to get lost here because these lines are at the very beginning)
Change the line:
<item name = "android: textColor">@android: color / holo_blue_light</ item>
on
<item name = "android: textColor">#ffffffff</ item>
Where#ffffffff- this is our text color. In this example, it is white.

screenshots
Attached Image

Attached Image


Post has been editedDimar - 07.11.15, 20:33
Reason for editing: *


--------------------
4Be yourself - and everything will go as it should.
olegsvs
Message#36
14.05.13, 17:02
Guru
*********
[offline]

Group: Developers
Messages 7779
Check in: 05.11.08
Xiaomi Redmi Note 4X Snapdragon 3/32

Reputation:-  2293  +

Remove bounce in scrolling lists.
On some firmware 4.0.4 there is a very annoying bug, namely the long rebound height


screenshot
Attached Image

Corrected instruction
Now it does not slow down the touch (there were slowdowns in some applications in the old version)
Decompilimsecondary_framework.jarand go on the roadsmali / android / view
Open the fileViewConfiguration.smaliand change
This is no longer necessary

.field private static final OVERFLING_DISTANCE: I = 0xf0
.field private static final OVERSCROLL_DISTANCE: I = 0xf0

on this:

.field private static final OVERFLING_DISTANCE: I = 0x6
.field private static final OVERSCROLL_DISTANCE: I = 0x0

Then look for
.line 264
iput v2, p0, Landroid / view / ViewConfiguration; ->mOverscrollDistance: I

.line 265
iput v2, p0, Landroid / view / ViewConfiguration; ->mOverflingDistance: I

and replace with
.line 264
const / 4 v0, 0x0

iput v0, p0, Landroid / view / ViewConfiguration; ->mOverscrollDistance: I

.line 265
const / 4 v0, 0x6

iput v0, p0, Landroid / view / ViewConfiguration; ->mOverflingDistance: I

Are looking for
.line 406
const-string v0, "long_press_timeout"

and replace with
.line 406
const-string / jumbo v0, "long_press_timeout"

Are looking for
.line 303
mul-float v9, v5, v12

add-float / 2addr v9, v11

float-to-int v9, v9

iput v9, p0, Landroid / view / ViewConfiguration; ->mOverscrollDistance: I

.line 304
mul-float v9, v5, v12

add-float / 2addr v9, v11

float-to-int v9, v9

iput v9, p0, Landroid / view / ViewConfiguration; ->mOverflingDistance: I

and replace with
.line 303
const / 4 v9, 0x0

mul-float / 2addr v9, v5

add-float / 2addr v9, v11

float-to-int v9, v9

iput v9, p0, Landroid / view / ViewConfiguration; ->mOverscrollDistance: I

.line 304
const / high16 v9, 0x40c0

mul-float / 2addr v9, v5

add-float / 2addr v9, v11

float-to-int v9, v9

iput v9, p0, Landroid / view / ViewConfiguration; ->mOverflingDistance: I

We compile and there is no longer a long scroll!

Here is a video comparison:up fashion , with mod.
Addition


Post has been editedDimar - 07.11.15, 20:41
Reason for editing: *
sk0t
Message#37
21.05.13, 17:18
Picker APK
********
[offline]

Group: Friendssavagemessiahzine.com
Messages 1935
Check in: 03.12.09
HTC Desire S

Reputation:-  4398  +

Supplement toRemove bounce in scrolling lists.
Simpler method


Instruction
framework-res / res / values ​​/styles.xml
style<style name = "Widget.AbsListView" parent = "@ style / Widget">
add parameter
<item name = "overScrollMode">never</ item>


Attached fileFlashToggle_1.0.apk(171.28 KB)


Post has been editedDimar - 07.11.15, 20:42
Reason for editing: *


--------------------
Winner of the Sixth Prizesavagemessiahzine.comin the "Rescuer 2011" nomination
.: Instructions and tools :.
Regnits
Message#38
27.05.13, 08:43
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 200
Check in: 21.11.12
Samsung Galaxy S3 GT-I9300

Reputation:-  74  +

Editing Lockscreen
(change the circle of lockscreen, change the composition of the icons around the circle)


It was
Attached Image

will become
Attached Image

What do you need:
only framework-res.apk

Let's start. (change circle lockscreen'a)
1. Unpack framework-res.apk
2. Find ic_lockscreen_outering.xml (I have a res / drawables path)

<? xml version = "1.0" encoding = "utf-8"?>
<shape android: shape = "oval"
xmlns: android = "http://schemas.android.com/apk/res/android ">
<size android: height = "@ dimen / keyguard_lockscreen_outerring_diameter" android: width = "@ dimen / keyguard_lockscreen_outerring_diameter" />
<solid android: color ="# 00ff4f00" />
<stroke android: width = "2.0dip" android: color = "# 1affffff" />
</ shape>
This inscriptionandroid: shape = "oval"means that android itself draws a circle (Ie the picture is not needed).
The diameter of the circle is in the file ds.s.xml (I have the res / values-sw600dp path).
Line<dimen name = "keyguard_lockscreen_outerring_diameter">364.0dip</ dimen>
Color circle android: color ="# 1affffff"
Thickness of the circle android: width ="2.0dip"
Color inside the circle<solid android: color = "# 00ff4f00" />(in this case it is transparent)

3. To change the diameter, change the value.364.0dipon its
4. To change the color of the circle, change"# 1affffff"on its
5. To change the thickness of the circle, change"2.0dip"on its
6. To the circle did not appear, change"# 1affffff"on"# 00ffffff"(transparent)
7. To fill the circle, change"# 00ff4f00"on"# ffff4f00"(or another, your own).

Let's start. (the composition of the icons around the circle (IMHO you can put 4 icons in total, without editing * .smali))
1. In the unpacked framework-res.apk, we find keyguard_screen_tab_unlock.xml and keyguard_screen_tab_unlock_land.xml (I have the res / layout-sw600dp path).
2. We look at such a piece of code
<LinearLayout android: orientation = "vertical" android: layout_width = "fill_parent" android: layout_height = "0.0dip" android: layout_weight = "1.0">
<TextView android: textAppearance = "? TextAppearanceMedium" android: id = "@ id / screenLocked" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginLeft = "24.0dip" android: layout_marginTop "" : drawablePadding = "4.0dip" />
<com.android.internal.widget.multiwaveview.MultiWaveView android: layout_gravity = "center" android: orientation = "horizontal" android: id = "@ id / unlock_widget" android: layout_width = "fill_parent" android: layout_height = "fill_parent" android : layout_alignParentBottom = "true"android: targetDescriptions = "@ array / lockscreen_target_descriptions_with_camera" android: directionDescriptions = "@ array / lockscreen_direction_descriptions" android: targetDrawables = "@ array / lockscreen_targets_with_camera"android: handleDrawable = "@ drawable / ic_lockscreen_handle" android: rightChevronDrawable = "@ dex draw / ic_lockscreen_chevron_right" android: vibrationDuration = "20" android: snapMargin = "@ dimen / multiwaveview_snap_margin" android: feedbackCount = "3" android: verticalOffset = "60.0dip" android: horizontalOffset = "0.0dip" />
<Button android: id = "@ id / emergencyCallButton" android: visibility = "gone" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_marginBottom = "90.0dip" android: drawableLeft = "@ drawable / ic_emergency" android: drawablePadding = "8.0dip" android: layout_alignParentBottom = "true" android: layout_centerInParent = "true" style = "@ style / Widget.Button.Transparent" />
</ LinearLayout>

3. We are looking for what is highlighted in red. It is this appeal that is displayed on the Lockscreen.
4. Here we do not touch anything, just need to remember what is highlighted in red.
5. Next we find the file arrays.xml (I have the res / values ​​path, as well asres / values-sw600dp-land)
6. Search the file, we find the lines that are remembered, specificallylockscreen_target_descriptions_with_camera and lockscreen_direction_descriptions and lockscreen_targets_with_camera
7. The first line is a description. The second is from what side what will be displayed. The third is the pictures that are displayed on the Lockscreen.
7.a. If you change something in res / values ​​/ arrays.xml, THAT NEEDS TO CHANGE HERE res / values-sw600dp-land / arrays.xml. When loading data, first take it from there.
8. Here is this piece of code.
array name = "lockscreen_targets_with_camera">
<item>@ drawable / ic_lockscreen_unlock</ item>(picture deputyaboutchka)
<item>@ drawable / ic_action_assist_generic</ item>(picture search)
<item>@ drawable / ic_lockscreen_camera</ item>(picture camera)
<item>@null</ item>
</ array>
<string-array name = "lockscreen_target_descriptions_with_camera">
<item>@ string / description_target_unlock</ item>
<item>@ string / description_target_search</ item>
<item>@ string / description_target_camera</ item>
<item>@null</ item>
</ string-array>

9. If, you do not needSearchandcamerathen you need to do so
array name = "lockscreen_targets_with_camera">
<item>@ drawable / ic_lockscreen_unlock</ item>
<item>@null</ item>
<item>@null</ item>
<item>@null</ item>
</ array>
<string-array name = "lockscreen_target_descriptions_with_camera">
<item>@ string / description_target_unlock</ item>
<item>@null</ item>
<item>@null</ item>
<item>@null</ item>
</ string-array>

10. If, you do not need onlySearchthen so
array name = "lockscreen_targets_with_camera">
<item>@ drawable / ic_lockscreen_unlock</ item>
<item>@null</ item>
<item>@ drawable / ic_lockscreen_camera</ item>
<item>@null</ item>
</ array>
<string-array name = "lockscreen_target_descriptions_with_camera">
<item>@ string / description_target_unlock</ item>
<item>@null</ item>
<item>@ string / description_target_camera</ item>
<item>@null</ item>
</ string-array>



Post has been editedDimar - 07.11.15, 20:44
Reason for editing: *


--------------------
Archos 101 G9 Turbo FS 16 GB
Android 4.0.4 (ICS) 4.0.28 BUILD 4
Samsung Galaxy S3 Duos GT-I9300I
Regnits
Message#39
29.05.13, 17:02
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 200
Check in: 21.11.12
Samsung Galaxy S3 GT-I9300

Reputation:-  74  +

Editing Lockscreen

(placement, centering, layout)
Powered by ICS and JB (verified)

Changing the color of the clock, date and charge on the lockscreen for the tablet(part 1) |Change the circle of Lockscreen, change the composition of the icons around the circle(part 2)
Lord Guru editing framework-res.apk and SystemUI.apk, if somewhere was wrong or not correctly reflect, tell me exactly where.
Well then, let's begin.

The lesson is made, as if by half a lesson, by half a FAQ on the structure of .xml resources.

What do you need:
only framework-res.apk (arms straight - desirable, but not critical)
We have such a picture
Attached Image

In this case, the tablet is in landscape mode and we see the date, clock on the left (the tablet was not charging, so there is no charging, and there is no other information, there is no mobile provider either), and there is a lockscreen on the left. The date does not look very good, everything is skilful and it is not clear how it is aligned.

Will do it
Attached Image

PART ONE

1. Unpack framework-res.apk
2. Go here res / layout-sw600dp / keyguard_screen_tab_unlock_land.xml
And we see such a disgrace. (brought in a more readable form)
<? xml version = "1.0" encoding = "utf-8"?>
<Linearlayout
android: orientation = "horizontal"
android: id = "@ id / root"
android: layout_width = "fill_parent"
android: layout_height = "fill_parent"

xmlns: android = "http://schemas.android.com/apk/res/android "
xmlns: tabunlock = "http://schemas.android.com/apk/res/com.android.tabunlock ">
<RelativeLayout
android: gravity = "center"
android: layout_width = "0.0dip"
android: layout_height = "fill_parent"
android: layout_weight = "0.42">

<RelativeLayout
android: id = "@ id / transport_bg_protect"
android: layout_width = "512.0dip"
android: layout_height = "wrap_content">
<include android: layout_width = "fill_parent"
android: layout_height = "wrap_content"
android: layout_marginLeft = "50.0dip"
android: layout_marginTop = "50.0dip"
android: layout_marginRight = "64.0dip"
android: layout_alignParentLeft = "true"
android: layout_alignParentTop = "true" layout = "@ layout / keyguard_screen_status_land" />

<include
android: layout_gravity = "fill"
android: id = "@ id / transport"
android: layout_width = "fill_parent"
android: layout_height = "512.0dip"
android: layout_column = "0"
android: layout_row = "0"
android: layout_rowSpan = "3"
android: layout_columnSpan = "1" layout = "@ layout / keyguard_transport_control" />

</ RelativeLayout>
</ RelativeLayout>
<RelativeLayout
android: gravity = "center"
android: layout_width = "0.0dip"
android: layout_height = "fill_parent"
android: layout_weight = "0.58">

<Textview
android: textAppearance = "? textAppearanceMedium"
android: gravity = "center"
android: id = "@ id / screenLocked"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "12.0dip"
android: drawablePadding = "4.0dip"
android: layout_alignParentLeft = "true"
android: layout_alignParentTop = "true" />

<com.android.internal.widget.multiwaveview.GlowPadView
android: gravity = "center"
android: layout_gravity = "right | center"
android: id = "@ id / unlock_widget"
android: focusable = "true"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: innerRadius = "@ dimen / glowpadview_inner_radius"
android: layout_rowSpan = "7"
android: targetDescriptions = "@ array / lockscreen_target_descriptions_with_camera"
android: directionDescriptions = "@ array / lockscreen_direction_descriptions"
android: outerRingDrawable = "@ drawable / ic_lockscreen_outerring"
android: pointDrawable = "@ drawable / ic_lockscreen_glowdot"
android: glowRadius = "@ dimen / glowpadview_glow_radius"
android: targetDrawables = "@ array / lockscreen_targets_with_camera"
android: handleDrawable = "@ drawable / ic_lockscreen_handle"
android: outerRadius = "@ dimen / glowpadview_target_placement_radius"
android: vibrationDuration = "20"
android: snapMargin = "@ dimen / glowpadview_snap_margin"
android: feedbackCount = "1" />

<Button
android: id = "@ id / emergencyCallButton"
android: visibility = "gone"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginRight = "80.0dip"
android: layout_marginBottom = "80.0dip"
android: drawableLeft = "@ drawable / ic_emergency"
android: drawablePadding = "8.0dip"
android: layout_alignParentRight = "true"
android: layout_alignParentBottom = "true" style = "@ style / Widget.Button.Transparent" />

</ RelativeLayout>
</ LinearLayout>


We look atgreen letters. They tell us that the root container has been created to full screen.
Spraboutsieve why the whole?
I answer: Lookblue letters. This inscription reads. Create a root container for maximum (fill_parent) width and maximum (fill_parent) height. Inside the created root container everything will go horizontally (see pink letters). What will we do?
3. ChangeLinearlayout android: orientation = "horizontal"onLinearlayout android: orientation = "vertical". Ie in the created root container, everything will be vertically (read red letters)
4. Further we see that inside the created root container, 2 more (two) containers will be created (brown letters), which are located one, under another (read red letters). The relative location of the containers, given their weight (yellow letters).
5. See the following:
android: layout_width = "0.0dip"
android: layout_height = "fill_parent"

occurs in two places
change for this, also in two places
android: layout_width = "fill_parent"
android: layout_height = "0.0dip"

Why and for what it, I'm sorry, did not understand. If not changed, nothing will be visible.
6. Hang items in containers, will be in the center. This is stated hereRelativeLayoutandroid: gravity = "center". You can do soRelativeLayoutandroid: gravity = "left"(center left) orRelativeLayoutandroid: gravity = "right"(center right). Also, there are words"top", "bottom"This you can choose
7. In the first container, two more sub-containers were crammed (one for hours (orange letters), the second for music (I will consider in another lesson)). The subcontainer for hours will be developed on all width and minimum-necessary height for filling (wrap_content). There is an additional field, starting with the wordsmargin, translated into our means how muchdipadd right, left, bottom and top. It will not allow the clock to cling to the very edge, ifRelativeLayoutandroid: gravity = "right". It will be like this
Attached Image

If you still need to press, then set the appropriate values ​​in0.0.dip
It will turn out like this
Attached Image

8. With this file, like everything. As a result, we get this
Attached Image

Let's just say NOT ICE. Go to another file
PART TWO


1. res / layout-sw600dp / keyguard_screen_status_land.xml
2. See it
<? xml version = "1.0" encoding = "utf-8"?>
<Linearlayout
android: gravity = "right"
android: orientation = "vertical"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"

xmlns: android = "http://schemas.android.com/apk/res/android ">
<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "16.0sp"
android: ellipsize = "marquee"
android: id = "@ id / carrier"
android: visibility = "gone"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "32.0dip"
android: singleLine = "true"
android: drawablePadding = "4.0dip" />

<com.android.internal.widget.DigitalClock
android: id = "@ id / time"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "8.0dip"
android: layout_marginBottom = "8.0dip">

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "@ dimen / keyguard_pattern_unlock_clock_font_size"
android: textColor = "@ color / lockscreen_clock_background"
android: ellipsize = "none"
android: id = "@ id / timeDisplayBackground"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginBottom = "6.0dip"
android: singleLine = "true" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "@ dimen / keyguard_pattern_unlock_clock_font_size"
android: textColor = "@ color / lockscreen_clock_foreground"
android: ellipsize = "none"
android: id = "@ id / timeDisplayForeground"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginBottom = "6.0dip"
android: singleLine = "true"
android: layout_alignLeft = "@ id / timeDisplayBackground"
android: layout_alignTop = "@ id / timeDisplayBackground" />

</com.android.internal.widget.DigitalClock>
<Linearlayout
android: orientation = "horizontal"
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" android: layout_below = "@ id / time">

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / date"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / alarm_status"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginLeft = "16.0dip"
android: drawablePadding = "4.0dip" />

</ LinearLayout>
<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / status1" android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "16.0sp"
android: textColor = "@ color / lockscreen_owner_info"
android: id = "@ id / propertyOf"
android: visibility = "invisible"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "20.0dip"
android: singleLine = "false"
android: lineSpacingExtra = "8.0dip" />

</ LinearLayout>

3. The first thing that catches your eye isLinearLayout android: gravity = "right". Align the watch on the right. Quickly change itLinearLayout android: gravity = "right"onLinearLayout android: gravity = "center". Clock must stand in the center.
4. The next block (pink color). Responsible for the withdrawal of the cellular operator. This line saysandroid: id = "@ id / carrier"In this case, it is invisible because of this line.android: visibility = "gone". Many ask how to move the cellular operator (from right to left). I can only assume that this is done by adding a line to this block.
android: layout_gravity = "right" or android: layout_gravity = "left"
5. The next block (Orange) is responsible for the color of the lockscreen clock. I described this lesson seeEditing framework-res.apk (Post # 21939358)
6. The next block (green) is responsible for the date inscription (stringandroid: id = "@ id / date") and alarm clock (lineandroid: id = "@ id / alarm_status"). As seen from<LinearLayout android: orientation = "horizontal", the text located under the clock will be arranged in a line, becauseandroid: orientation = "horizontal". I didn't like it, so I changed it.android: orientation = "vertical". Now the date and alarm lines will be one below the other.
7. Now we make this manipulation. Take the last black block and place it like this.

It was
<Linearlayout
android: orientation = "horizontal"
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" android: layout_below = "@ id / time">

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / date"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content" />

<TextVie
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / alarm_status"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginLeft = "16.0dip"
android: drawablePadding = "4.0dip" />

</ LinearLayout>
<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / status1" android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "16.0sp"
android: textColor = "@ color / lockscreen_owner_info"
android: id = "@ id / propertyOf"
android: visibility = "invisible"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "20.0dip"
android: singleLine = "false"
android: lineSpacingExtra = "8.0dip" />

</ LinearLayout>


It became
<Linearlayout
android: orientation = "horizontal"
android: layout_width = "wrap_content" android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" android: layout_below = "@ id / time">

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / date"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / alarm_status"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginLeft = "16.0dip"
android: drawablePadding = "4.0dip" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "32.0sp"
android: textColor = "@ color / lockscreen_clock_foreground"
android: id = "@ id / status1"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "10.0dip" />

<Textview
android: textAppearance = "? textAppearanceMedium"
android: textSize = "16.0sp"
android: textColor = "@ color / lockscreen_owner_info"
android: id = "@ id / propertyOf"
android: visibility = "invisible"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginTop = "20.0dip"
android: singleLine = "false"
android: lineSpacingExtra = "8.0dip" />

</ LinearLayout>
</ LinearLayout>


8. Did this in order to charge information (android: id = "@ id / status1"), and add. information(android: id = "@ id / propertyOf"), did not hang around the screen, but was strictly under the clock.
9. After all we get
Attached Image

PART THREE


We will register the full date.
We have such a disgrace (see upper right corner)
Attached Image

Will do it
Attached Image


1. Unpack framework-res.apk
2. Go here res / values-en / strings.xml
3. Open it. We find such a block and pay attention to .... (bold)
<string name = "same_year_mdy1_mdy2">% 3 $ s% 2 $ s -% 8 $ s% 7 $ s% 9 $ syear</ string>
<string name = "same_month_mdy1_mdy2">% 3 $ s-% 8 $ s% 2 $ s% 9 $ syear</ string>
<string name = "same_year_wday1_mdy1_wday2_mdy2">% 3 $ s% 2 $ s -% 8 $ s% 7 $ s% 9 $ syear</ string>
<string name = "short_format_month">% b</ string>
<string name = "full_wday_month_day_no_year">EEEE d MMMM</ string>
<string name = "abbrev_wday_month_day_no_year">EEE d MMMM</ string>
<string name = "abbrev_wday_month_day_year">E, d MMM yyyy</ string>

4. Do this (bold)
<string name = "same_year_mdy1_mdy2">% 3 $ s% 2 $ s -% 8 $ s% 7 $ s% 9 $ syear.</ string>
<string name = "same_month_mdy1_mdy2">% 3 $ s-% 8 $ s% 2 $ s% 9 $ syear.</ string>
<string name = "same_year_wday1_mdy1_wday2_mdy2">% 3 $ s% 2 $ s -% 8 $ s% 7 $ s% 9 $ syear.</ string>
<string name = "short_format_month">% b</ string>
<string name = "full_wday_month_day_no_year">EEEE d MMMM yyyy</ string>
<string name = "abbrev_wday_month_day_no_year">EEEE d MMMM yyyy</ string>
<string name = "abbrev_wday_month_day_year">EEEE d MMMM yyyy</ string>

Deciphering letters E, y, M, dhere

FUUUUUUUUUUUUUUU-xxxxxxxxxxxxxxxxxx
If that is not clear, write. With the accumulation of questions I will edit the material.

Thank you Specific topic
Editing framework-res.apk
http://devpad.ru/
http://developer.android.com
http://google.ru
as well as tipssk0t
for the first tips on androidfreezenook
for help with screenshotstwin111

P.SRemoved translucency in android.policy.jar. Path android.policy \ smali \ com \ android \ internal \ policy \ impl \ KeyguardViewBase.smali
# static fields
.field private static finalBACKGROUND_COLOR: I = 0x70000000- it is color of blackout

Addition


Post has been editedRegnits - 22.03.16, 06:40
Reason for editing: *


--------------------
Archos 101 G9 Turbo FS 16 GB
Android 4.0.4 (ICS) 4.0.28 BUILD 4
Samsung Galaxy S3 Duos GT-I9300I
Regnits
Message#40
09.06.13, 08:56
Local
*****
[offline]

Group: Friendssavagemessiahzine.com
Messages 200
Check in: 21.11.12
Samsung Galaxy S3 GT-I9300

Reputation:-  74  +

Transparency Status bar


Many wrote how to make a transparent Status Bar, but I did not succeed. I decided to figure it out. I post my research. Maybe someone will help. True while for ICS :-(
First step

Need SystemUI

1. We disassemble SystemUI
2. Go to SystemUI \ smali \ com \ android \ systemui \ statusbar \ statusbar.smali
3. Focus on the selected (bold) text (we search by text)
4. Go down the handles on the code and get to it (Blue colour)
const-string v4, "StatusBar"

invoke-virtual {v11, v4}, Landroid / view / WindowManager $ LayoutParams; ->setTitle (Ljava / lang / CharSequence;) V

.line 152
move-object / from16 v0, p0

iget-object v4, v0, Lcom / android / systemui / SystemUI; ->mContext: Landroid / content / Context;

invoke-virtual {v4}, Landroid / content / Context; ->getPackageName () Ljava / lang / String;

move-result-object v4

iput-object v4, v11, Landroid / view / WindowManager $ LayoutParams; ->packageName: Ljava / lang / String;

.line 153
const v4,0x7f0c0009

iput v4, v11, Landroid / view / WindowManager $ LayoutParams; ->windowAnimations: I

.line 154
invoke-static {}, Landroid / view / WindowManagerImpl; ->getDefault () Landroid / view / WindowManagerImpl;

move-result-object v4

move-object / from16 v0, v21

invoke-virtual {v4, v0, v11}, Landroid / view / WindowManagerImpl; ->addView (Landroid / view / View; Landroid / view / ViewGroup $ LayoutParams;) V

.line 166
new-instance v4, Lcom / android / systemui / statusbar / DoNotDisturb;

move-object / from16 v0, p0

iget-object v5, v0, Lcom / android / systemui / SystemUI; ->mContext: Landroid / content / Context;

invoke-direct {v4, v5}, Lcom / android / systemui / statusbar / DoNotDisturb; -><init>(Landroid / content / Context;) V

move-object / from16 v0, p0

iput-object v4, v0, Lcom / android / systemui / statusbar / StatusBar; ->mDoNotDisturb: Lcom / android / systemui / statusbar / DoNotDisturb;

.line 167
return-void

.line 129
.end local v11 #lp: Landroid / view / WindowManager $ LayoutParams;
.end local v18 #defaultDisplay: Landroid / view / Display;
: cond_7
new-instance v11, Landroid / view / WindowManager $ LayoutParams;

const / 4 v12, -0x1

const / 16 v14, 0x7d0

const v15, 0x1800048

const / 16 v16, -0x1

5. Change the blue text on this onered
const / 4 v12, -0x1 position relative to the buttons. (experiment)It seems to figure out why it became so (this is the type of the NavigationBAR window), so the notification panel has shifted, accepting this type of window: wacko:
Attached Image

const / 16 v14, 0x800 �This thing, as I understand it stretches down . The window flag (in free translation means "The window will unfold to the full width (ie, blackout, and there will be no light bar in applications at all. Even in the settings, everything will be under status), but the status bar will be on top
Attached Image
Attached Image

const v15, 0x1800048- this thing, the visibility of hours, and graphics (back, home, latest applications). If you put 0x18048, then the graph will disappear, but the buttons will be pressed
const / 16 v16, 0x7transparency, any change to another digit, gave a black color, although it may not be completely black(it is possible that this is the type of color), if you leave 0x1 will be the same effect

6. Turn out so
const-string v4, "StatusBar"

invoke-virtual {v11, v4}, Landroid / view / WindowManager $ LayoutParams; ->setTitle (Ljava / lang / CharSequence;) V

.line 152
move-object / from16 v0, p0

iget-object v4, v0, Lcom / android / systemui / SystemUI; ->mContext: Landroid / content / Context;

invoke-virtual {v4}, Landroid / content / Context; ->getPackageName () Ljava / lang / String;

move-result-object v4

iput-object v4, v11, Landroid / view / WindowManager $ LayoutParams; ->packageName: Ljava / lang / String;

.line 153
const v4,0x7f0c0009

iput v4, v11, Landroid / view / WindowManager $ LayoutParams; ->windowAnimations: I

.line 154
invoke-static {}, Landroid / view / WindowManagerImpl; ->getDefault () Landroid / view / WindowManagerImpl;

move-result-object v4

move-object / from16 v0, v21

invoke-virtual {v4, v0, v11}, Landroid / view / WindowManagerImpl; ->addView (Landroid / view / View; Landroid / view / ViewGroup $ LayoutParams;) V

.line 166
new-instance v4, Lcom / android / systemui / statusbar / DoNotDisturb;

move-object / from16 v0, p0

iget-object v5, v0, Lcom / android / systemui / SystemUI; ->mContext: Landroid / content / Context;

invoke-direct {v4, v5}, Lcom / android / systemui / statusbar / DoNotDisturb; -><init>(Landroid / content / Context;) V

move-object / from16 v0, p0

iput-object v4, v0, Lcom / android / systemui / statusbar / StatusBar; ->mDoNotDisturb: Lcom / android / systemui / statusbar / DoNotDisturb;

.line 167
return-void

.line 129
.end local v11 #lp: Landroid / view / WindowManager $ LayoutParams;
.end local v18 #defaultDisplay: Landroid / view / Display;
: cond_7
new-instance v11, Landroid / view / WindowManager $ LayoutParams;

const / 4 v12, -0x1

const / 16 v14, 0x800

const v15, 0x1800048

const / 16 v16, 0x7


Second step

The simplest remains

1. Find this file res \ values-sw600dp \ drawable.xml

<? xml version = "1.0" encoding = "utf-8"?>
<resources>
<item type = "drawable" name = "status_bar_background"># ff000000</ item>
<item type = "drawable" name = "notification_icon_area_smoke"># aa000000</ item>
</ resources>

2. Change, what is highlighted in bold, on#00000000(fully transparent). You can set your color and transparency
3. We will receive

<? xml version = "1.0" encoding = "utf-8"?>
<resources>
<item type = "drawable" name = "status_bar_background">#00000000</ item>
<item type = "drawable" name = "notification_icon_area_smoke"># aa000000</ item>
</ resources>


4. Find such a file in SystemUI res \ layout-sw600dp \ status_bar.xml
5. Find such a code (at the bottom). Landmark, highlighted text

<FrameLayout android: layout_gravity = "bottom" android: id = "@ id / bar_shadow_holder" android: layout_width = "fill_parent" android: layout_height = "@ * android: dimen / status_bar_height">
<RelativeLayout android: id = "@ id / bar_shadow" android: background = "# ff000000"android: visibility =" gone "android: layout_width =" fill_parent "android: layout_height =" fill_parent ">
<ImageView android: id = "@ id / dot0" android: layout_width = "80.0dip" android: layout_height = "48.0dip" android: src = "@ drawable / ic_sysbar_lights_out_dot_small" android: layout_alignParentLeft = "true" android: layout_alignParentBottom "/>
<ImageView android: id = "@ id / dot1" android: layout_width = "80.0dip" android: layout_height = "48.0dip" android: src = "@ drawable / ic_sysbar_lights_out_dot_large" android: layout_toRightOf = "@ id / dot0" android: layout_alignParent = "true" />
<ImageView android: id = "@ id / dot2" android: layout_width = "80.0dip" android: layout_height = "48.0dip" android: src = "@ drawable / ic_sysbar_lights_out_dot_small" android: layout_toRightOf = "@ id / dot1" android: layout_alignParent = "true" />
<ImageView android: id = "@ id / dot3" android: layout_width = "80.0dip" android: layout_height = "48.0dip" android: src = "@ drawable / ic_sysbar_lights_out_dot_small" android: layout_alignParentRight = "true" android: layout_alignParentBottom = "/>
</ RelativeLayout>
</ Framelifeout>
</com.android.systemui.statusbar.tablet.TabletStatusBarView>


6. Change what is highlighted in bold to#00000000(fully transparent). You can set your color and transparency
7. We collect
8. Replace
9. Install
10. We are happy
P.S. Status Bar disappearsonly when you flip the screen on your desktop(means that if after unlocking the screen you rotate the tablet or body, it will disappear)in applications does not disappearthough twist

ScreenshotsEditing framework-res.apk

Post has been editedDimar - 07.11.15, 20:59
Reason for editing: *


--------------------
Archos 101 G9 Turbo FS 16 GB
Android 4.0.4 (ICS) 4.0.28 BUILD 4
Samsung Galaxy S3 Duos GT-I9300I
Dimar
Message#41
09.06.13, 23:55
Perfectionism guru
*********
[offline]

Group: Curators
Messages 2988
Check in: 04.09.10
Honor 9 lite

Reputation:-  613  +

Line by line lockscreen description


lockscreen
<? xml version = "1.0" encoding = "utf-8"?>
<RelativeLayout android: gravity = "center_horizontal" # container full screen
android: id = "@ id / root"
android: background = "# 70000000"# background image transparency # 00000000 - transparent
android: layout_width = "fill_parent"# stretched to full screen width
android: layout_height = "fill_parent"# stretched to full screen height
xmlns: android = "http://schemas.android.com/apk/res/android "
xmlns: tabunlock = "http://schemas.android.com/apk/res/com.android.tabunlock ">
------------------
<TextView android: textAppearance = "? Android: textAppearanceMedium"# operator name (here)
android: ellipsize = "marquee"# with long title scrolls in a string
android: gravity = "bottom | right | center"# position in the container (in the button | on the right | center)
<! - android: gravity = "center" -># position in the container in the center
android: id = "@ id / carrier"
android: layout_width = "wrap_content"# required width to fill
android: layout_height = "wrap_content"# required height to fill
android: layout_marginTop = "2.0dip"# indents on top
android: layout_marginRight = "8.0dip"# indent right
android: singleLine = "true"# scrolls in the true row — yes, false — no
android: layout_alignParentTop = "true"# alignment ?
android: layout_alignParentRight = "true" /># right alignment
<! - android: layout_centerHorizontal = "true" -># centered
------------------
<com.lge.internal.widget.Andy_DigitalClock android: id = "@ id / time"#clock
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: layout_marginLeft = "20.0dip"# replace the line below
<! - android: layout_centerHorizontal = "true" -># centered
android: layout_marginTop = "52.0dip"
android: layout_marginBottom = "4.0dip"
android: layout_below = "@ id / carrier">
------------------
<TextView android: textAppearance = "? Android: textAppearanceMedium" #
android: textSize = "100.0sp"# size of hours
android: gravity = "bottom" android: id = "@ id / timeDisplay"
android: layout_width = "wrap_content"
android: layout_height = "wrap_content"
android: shadowColor = "# c0000000"# watch shadow color
android: shadowDx = "0.0"
android: shadowDy = "0.0"
android: shadowRadius = "3.0" /># radius of watch shadow


Post has been editedDimar - 29.11.15, 17:20


--------------------

102 pagesV  < 1 2 3 4 5 6 > » 


 mobile version    Now: 04/30/19 6:47 PM