[MOD][HowTo] Samsung KeyBoard Swipe Color - Text Editor Colors - (12/16) - Galaxy Note 3 Android Development

Okay, alot of dev's/themers been looking for this one...
If you use, please give credit, I spent many hours finding this Mod... Don't take credit for someone else's work...
This Mod will allow you to change the Samsung KeyBoard Swipe Color..(SamsungIME.apk)
Look for:
smali\com\diotek\ime\framework\view\AbstractKeyBoardView.smali
Search for -> .method private setTracePaintOptionsWithSettings()V
Click to see Org Code
Code:
.method private setTracePaintOptionsWithSettings()V
.locals 5
.prologue
const/16 v4, 0xff
const/4 v1, 0x1
const/4 v3, 0x0
.line 9829
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
if-nez v0, :cond_0
.line 9830
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
.line 9832
:cond_0
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
if-eqz v0, :cond_1
.line 9833
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 9835
:cond_1
iput-short v3, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePointCount:S
.line 9836
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 9837
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V
.line 9838
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
const/16 v1, 0xa5
const/16 v2, 0xf3
invoke-static {v4, v3, v1, v2}, Landroid/graphics/Color;->argb(IIII)I
Click to see what to change:
Code:
.method private setTracePaintOptionsWithSettings()V
.locals 5
.prologue
const/16 v4, [B][U][COLOR="Blue"]0xff[/COLOR][/U][/B] [B][COLOR="seagreen"]Change for Alpha Value - "0xff" [/COLOR][/B]
const/4 v1, 0x1
const/4 v3, [B][U][COLOR="Blue"]0x0[/COLOR][/U][/B] [B][COLOR="seaGreen"] - Change for Red Value - "0x0"[/COLOR][/B]
.line 9829
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
if-nez v0, :cond_0
.line 9830
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
.line 9832
:cond_0
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
if-eqz v0, :cond_1
.line 9833
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 9835
:cond_1
iput-short v3, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePointCount:S
.line 9836
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 9837
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V
.line 9838
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
const/16 v1, [B][U][COLOR="Blue"]0xa5[/COLOR][/U][/B] [COLOR="seagreen"]- Change for Green Value - "0xa5"[/COLOR]
const/16 v2, [B][U][COLOR="Blue"]0xf3[/COLOR][/U][/B] [COLOR="seagreen"] - Change for Blue Value - "0xf3"[/COLOR]
invoke-static {v4, v3, v1, v2}, Landroid/graphics/Color;->argb(IIII)I
So what it boils down to is that the Swipe Color is what we call RGB color coding. I suggest a site like this to see values you can use:
Hex to RGB Color converter
Thats it folks.. swipe color squashed!!!!
A Little clarification on Instructions.
I was swamped with questions on how to edit and such.. So with @strongsteve help we dug more and here is an easier way to get your colors instead of trying to use RGB values..
Note III - Edits
change code:
Code:
const/16 v1, 0xa5
const/16 v2, 0xf3
to
Code:
const v3, 0x33
const v1, 0x66
const v2, 0xcc
Note II - Edits
change code:
Code:
const/16 v1, 0xff
const/16 v2, 0xa5
const/16 v3, 0xf3
change to:
Code:
const/16 v1, 0xff
const v2, 0x66
const v3, 0xcc
const v4, 0x33
Then just use any normal Hex Color code you would normally use!!!
In the above example I used 3366cc which is DarkHorse Blue..
I hope that helps
Text Color in Text Editor(Second Screen Shot)
Note III
Search for
Code:
constructor <init>(Lcom/visionobjects/textwidget/e/a;Landroid/util/DisplayMetrics;)V
and then look for:
Code:
const/high16 v1, -0x100 <--- Black Text Color Previous Typed Word
const v2, -0xcc4a1b <--- Last Typed Word
Change Black Text to a Smali Color Code
Change Last Typed Word to Smali Color code (-0xcc4a1b)
For example:
3366cc converts to -0xCC9934 for smali color codes
Thx to @EMSpilot for pointing out the Black Text Line... Thank you!!!

Thanks mate
Sent from my SM-N9005 using Tapatalk

mustakeel1981 said:
Thanks mate
Sent from my SM-N9005 using Tapatalk
Click to expand...
Click to collapse
No problem... Dont forget to hit the Thanx Button... :silly::silly:

Would have been nice with a script though.
Sent from my SM-N9005 using XDA Premium HD app

_frog hair said:
Would have been nice with a script though.
Sent from my SM-N9005 using XDA Premium HD app
Click to expand...
Click to collapse
This is put out so Dev's/Themers can make edits to there KeyBoards, Not a Mod to Flash.

Related

Note 3 S-Pen features on 4.3

Was just messing around and found out on 4.3 we have the note 3 S-Pen features.
You'll have to download Google gesture search open the app
Write “pen" than click on pen settings and you'll see the note 3 pen features.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Wow!
Nice find!
Now the million dollar question: does it work? With any pen? With an s-pen?
nice find, but i dont think it will work since we dont have spen + digitizer
Maybe some dirty hack to force phone to think that when youre hovering your finger over screen its s-pen.
Sent from my GT-I9505 using xda app-developers app
I'm willing to use a regular pen or buy an s-pen to get this to work.
The s4 (5 inch) with the functions from note 3 and possible to operate with a stylus (much more precise) is just short of a wet dream.
I think if someone can do a hack for the finger as a pen setting it'll be great. But I think an s-pen would work because I was messing with the “try it" in the settings feature and it was like use the pen here.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
[email protected] said:
I think if someone can do a hack for the finger as a pen setting it'll be great. But I think an s-pen would work because I was messing with the “try it" in the settings feature and it was like use the pen here.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Click to expand...
Click to collapse
The s-pen actually depends on a hardware feature that's most likely missing from the S4, not only on software..
Sent from my GT-I9500 using xda app-developers app
Mithrandir007 said:
The s-pen actually depends on a hardware feature that's most likely missing from the S4, not only on software..
Sent from my GT-I9500 using xda app-developers app
Click to expand...
Click to collapse
I don't think so. Because the s4 had the air view feature...
Gesendet von meinem GT-I9505 mit Tapatalk 2
Yes and Note III has it as well,
but Spen uses an "ir" communication "tool" and its being activated when the pen is pulled out i guess not sure how it's fully working,
but it should be possible if we succeed to "remap" the Spen AirCommand feature to "Air View" Feature
but well, backporting is needed
seems to be old spen settings air command where is it
cybermungo said:
I don't think so. Because the s4 had the air view feature...
Gesendet von meinem GT-I9505 mit Tapatalk 2
Click to expand...
Click to collapse
There's a BIG difference in how those work.
The fact is that the S4 can't do that the Note series do, simply because the S4 doesn't have the hardware required. The Notes use an active digitizer to enable to accuracy from the S-Pens; the S4 doesn't have that. Some of the features could be emulated, but never with the accuracy/precision that the Notes can do.
These are the AirCommand Preferences: in smali ofc!
.class Lcom/android/settings/AirCmdPreferenceEnabler$1;
.super Landroid/database/ContentObserver;
.source "AirCmdPreferenceEnabler.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/settings/AirCmdPreferenceEnabler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCmdPreferenceEnabler;Landroid/os/HandlerV
.registers 3
.parameter
.parameter "x0"
.prologue
.line 53
iput-object p1, p0, Lcom/android/settings/AirCmdPreferenceEnabler$1;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
invoke-direct {p0, p2}, Landroid/database/ContentObserver;-><init>(Landroid/os/HandlerV
return-void
.end method
# virtual methods
.method public onChange(Z)V
.registers 3
.parameter "selfChange"
.prologue
.line 57
iget-object v0, p0, Lcom/android/settings/AirCmdPreferenceEnabler$1;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
invoke-virtual {v0}, Lcom/android/settings/AirCmdPreferenceEnabler;->updateSwitch()V
.line 58
return-void
.end method
.class Lcom/android/settings/AirCmdPreferenceEnabler$2;
.super Ljava/lang/Object;
.source "AirCmdPreferenceEnabler.java"
# interfaces
.implements Landroid/content/DialogInterface$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/settings/AirCmdPreferenceEnabler;->showAirCommandEnabledPopup()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCmdPreferenceEnablerV
.registers 2
.parameter
.prologue
.line 137
iput-object p1, p0, Lcom/android/settings/AirCmdPreferenceEnabler$2;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/content/DialogInterface;I)V
.registers 5
.parameter "dialog"
.parameter "which"
.prologue
.line 139
iget-object v0, p0, Lcom/android/settings/AirCmdPreferenceEnabler$2;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
#getter for: Lcom/android/settings/AirCmdPreferenceEnabler;->mSwitch:Landroid/preference/SwitchPreference;
invoke-static {v0}, Lcom/android/settings/AirCmdPreferenceEnabler;->access$000(Lcom/android/settings/AirCmdPreferenceEnablerLandroid/preference/SwitchPreference;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/preference/SwitchPreference;->setChecked(Z)V
.line 140
return-void
.end method
.class Lcom/android/settings/AirCmdPreferenceEnabler$3;
.super Ljava/lang/Object;
.source "AirCmdPreferenceEnabler.java"
# interfaces
.implements Landroid/content/DialogInterface$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/settings/AirCmdPreferenceEnabler;->showAirCommandEnabledPopup()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCmdPreferenceEnablerV
.registers 2
.parameter
.prologue
.line 131
iput-object p1, p0, Lcom/android/settings/AirCmdPreferenceEnabler$3;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/content/DialogInterface;I)V
.registers 6
.parameter "dialog"
.parameter "which"
.prologue
const/4 v2, 0x1
.line 133
iget-object v0, p0, Lcom/android/settings/AirCmdPreferenceEnabler$3;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
#getter for: Lcom/android/settings/AirCmdPreferenceEnabler;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/android/settings/AirCmdPreferenceEnabler;->access$100(Lcom/android/settings/AirCmdPreferenceEnablerLandroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "air_button_onoff"
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
.line 134
iget-object v0, p0, Lcom/android/settings/AirCmdPreferenceEnabler$3;->this$0:Lcom/android/settings/AirCmdPreferenceEnabler;
#getter for: Lcom/android/settings/AirCmdPreferenceEnabler;->mSwitch:Landroid/preference/SwitchPreference;
invoke-static {v0}, Lcom/android/settings/AirCmdPreferenceEnabler;->access$000(Lcom/android/settings/AirCmdPreferenceEnablerLandroid/preference/SwitchPreference;
move-result-object v0
invoke-virtual {v0, v2}, Landroid/preference/SwitchPreference;->setChecked(Z)V
.line 135
return-void
.end method
.class public final Lcom/android/settings/AirCommandEnabler;
.super Ljava/lang/Object;
.source "AirCommandEnabler.java"
# interfaces
.implements Landroid/widget/CompoundButton$OnCheckedChangeListener;
# instance fields
.field private mAirViewObserver:Landroid/database/ContentObserver;
.field private final mContext:Landroid/content/Context;
.field private mEnableAirCommandDialog:Landroid/app/AlertDialog;
.field private mHeader:Landroid/preference/PreferenceActivity$Header;
.field private mPosition:I
.field private mSwitch:Landroid/widget/Switch;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/widget/SwitchV
.registers 5
.parameter "context"
.parameter "switch_"
.prologue
const/4 v1, 0x0
.line 65
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
.line 49
iput-object v1, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
.line 51
iput-object v1, p0, Lcom/android/settings/AirCommandEnabler;->mHeader:Landroid/preference/PreferenceActivity$Header;
.line 53
const/4 v0, 0x0
iput v0, p0, Lcom/android/settings/AirCommandEnabler;->mPosition:I
.line 55
iput-object v1, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
.line 57
new-instance v0, Lcom/android/settings/AirCommandEnabler$1;
new-instance v1, Landroid/os/Handler;
invoke-direct {v1}, Landroid/os/Handler;-><init>()V
invoke-direct {v0, p0, v1}, Lcom/android/settings/AirCommandEnabler$1;-><init>(Lcom/android/settings/AirCommandEnabler;Landroid/os/HandlerV
iput-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mAirViewObserver:Landroid/database/ContentObserver;
.line 66
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
.line 67
iput-object p2, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
.line 68
return-void
.end method
.method static synthetic access$000(Lcom/android/settings/AirCommandEnablerLandroid/widget/Switch;
.registers 2
.parameter "x0"
.prologue
.line 35
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
return-object v0
.end method
.method static synthetic access$100(Lcom/android/settings/AirCommandEnablerLandroid/content/Context;
.registers 2
.parameter "x0"
.prologue
.line 35
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
return-object v0
.end method
.method private dismissAllDialog()V
.registers 2
.prologue
.line 143
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
if-eqz v0, :cond_c
.line 144
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
invoke-virtual {v0}, Landroid/app/AlertDialog;->dismiss()V
.line 145
const/4 v0, 0x0
iput-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
.line 147
:cond_c
return-void
.end method
.method private showAirCommandEnabledPopup()V
.registers 4
.prologue
.line 122
invoke-direct {p0}, Lcom/android/settings/AirCommandEnabler;->dismissAllDialog()V
.line 124
new-instance v0, Landroid/app/AlertDialog$Builder;
iget-object v1, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-direct {v0, v1}, Landroid/app/AlertDialog$Builder;-><init>(Landroid/content/ContextV
const v1, 0x7f090e5b
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setMessage(I)Landroid/app/AlertDialog$Builder;
move-result-object v0
const v1, 0x7f090e38
invoke-virtual {v0, v1}, Landroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder;
move-result-object v0
const v1, 0x104000a
new-instance v2, Lcom/android/settings/AirCommandEnabler$3;
invoke-direct {v2, p0}, Lcom/android/settings/AirCommandEnabler$3;-><init>(Lcom/android/settings/AirCommandEnablerV
invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListenerLandroid/app/AlertDialog$Builder;
move-result-object v0
const/high16 v1, 0x104
new-instance v2, Lcom/android/settings/AirCommandEnabler$2;
invoke-direct {v2, p0}, Lcom/android/settings/AirCommandEnabler$2;-><init>(Lcom/android/settings/AirCommandEnablerV
invoke-virtual {v0, v1, v2}, Landroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListenerLandroid/app/AlertDialog$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
move-result-object v0
iput-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
.line 139
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mEnableAirCommandDialog:Landroid/app/AlertDialog;
invoke-virtual {v0}, Landroid/app/AlertDialog;->show()V
.line 140
return-void
.end method
# virtual methods
.method public onCheckedChanged(Landroid/widget/CompoundButton;Z)V
.registers 10
.parameter "buttonView"
.parameter "desiredState"
.prologue
const/4 v3, 0x1
const/4 v4, 0x0
.line 101
if-eqz p2, :cond_4a
.line 102
iget-object v5, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "air_view_master_onoff"
invoke-static {v5, v6, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
if-eqz v5, :cond_3a
move v1, v3
.line 103
.local v1, airViewState:Z
:goto_13
iget-object v5, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "air_view_mode"
invoke-static {v5, v6, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 104
.local v0, airViewMode:I
iget-object v5, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v5}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v5
const-string v6, "pen_hovering_information_preview"
invoke-static {v5, v6, v4}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v5
if-eqz v5, :cond_3c
move v2, v3
.line 105
.local v2, penInforPreview:Z
:goto_2e
if-eqz v1, :cond_36
sget v4, Lcom/android/settings/Utils;->FINGER_AIR_VIEW_MODE:I
if-eq v0, v4, :cond_36
if-nez v2, :cond_3e
.line 106
:cond_36
invoke-direct {p0}, Lcom/android/settings/AirCommandEnabler;->showAirCommandEnabledPopup()V
.line 113
.end local v0 #airViewMode:I
.end local v1 #airViewState:Z
.end local v2 #penInforPreview:Z
:goto_39
return-void
:cond_3a
move v1, v4
.line 102
goto :goto_13
.restart local v0 #airViewMode:I
.restart local v1 #airViewState:Z
:cond_3c
move v2, v4
.line 104
goto :goto_2e
.line 108
.restart local v2 #penInforPreview:Z
:cond_3e
iget-object v4, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v4
const-string v5, "air_button_onoff"
invoke-static {v4, v5, v3}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto :goto_39
.line 111
.end local v0 #airViewMode:I
.end local v1 #airViewState:Z
.end local v2 #penInforPreview:Z
:cond_4a
iget-object v3, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v5, "air_button_onoff"
invoke-static {v3, v5, v4}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
goto :goto_39
.end method
.method public pause()V
.registers 3
.prologue
.line 83
invoke-direct {p0}, Lcom/android/settings/AirCommandEnabler;->dismissAllDialog()V
.line 84
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
iget-object v1, p0, Lcom/android/settings/AirCommandEnabler;->mAirViewObserver:Landroid/database/ContentObserver;
invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserverV
.line 85
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/Switch;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListenerV
.line 86
return-void
.end method
.method public resume()V
.registers 5
.prologue
.line 76
invoke-virtual {p0}, Lcom/android/settings/AirCommandEnabler;->updateSwitch()V
.line 77
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
invoke-virtual {v0, p0}, Landroid/widget/Switch;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListenerV
.line 78
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "air_button_onoff"
invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/StringLandroid/net/Uri;
move-result-object v1
const/4 v2, 0x1
iget-object v3, p0, Lcom/android/settings/AirCommandEnabler;->mAirViewObserver:Landroid/database/ContentObserver;
invoke-virtual {v0, v1, v2, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserverV
.line 80
return-void
.end method
.method public setHeaderPosition(Landroid/preference/PreferenceActivity$Header;I)V
.registers 3
.parameter "header"
.parameter "position"
.prologue
.line 71
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler;->mHeader:Landroid/preference/PreferenceActivity$Header;
.line 72
iput p2, p0, Lcom/android/settings/AirCommandEnabler;->mPosition:I
.line 73
return-void
.end method
.method public setSwitch(Landroid/widget/SwitchV
.registers 4
.parameter "switch_"
.prologue
.line 89
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
if-ne v0, p1, :cond_5
.line 97
:goto_4
return-void
.line 92
:cond_5
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/Switch;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListenerV
.line 93
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
.line 94
invoke-virtual {p0}, Lcom/android/settings/AirCommandEnabler;->updateSwitch()V
.line 96
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
invoke-virtual {v0, p0}, Landroid/widget/Switch;->setOnCheckedChangeListener(Landroid/widget/CompoundButton$OnCheckedChangeListenerV
goto :goto_4
.end method
.method public updateSwitch()V
.registers 6
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 116
iget-object v3, p0, Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
const-string v4, "air_button_onoff"
invoke-static {v3, v4, v2}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
move-result v0
.line 118
.local v0, state:I
iget-object v3, p0, Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
if-ne v0, v1, :cond_16
:goto_12
invoke-virtual {v3, v1}, Landroid/widget/Switch;->setChecked(Z)V
.line 119
return-void
:cond_16
move v1, v2
.line 118
goto :goto_12
.end method
.class Lcom/android/settings/AirCommandEnabler$1;
.super Landroid/database/ContentObserver;
.source "AirCommandEnabler.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/android/settings/AirCommandEnabler;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCommandEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCommandEnabler;Landroid/os/HandlerV
.registers 3
.parameter
.parameter "x0"
.prologue
.line 57
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler$1;->this$0:Lcom/android/settings/AirCommandEnabler;
invoke-direct {p0, p2}, Landroid/database/ContentObserver;-><init>(Landroid/os/HandlerV
return-void
.end method
# virtual methods
.method public onChange(Z)V
.registers 3
.parameter "selfChange"
.prologue
.line 61
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler$1;->this$0:Lcom/android/settings/AirCommandEnabler;
invoke-virtual {v0}, Lcom/android/settings/AirCommandEnabler;->updateSwitch()V
.line 62
return-void
.end method
.class Lcom/android/settings/AirCommandEnabler$2;
.super Ljava/lang/Object;
.source "AirCommandEnabler.java"
# interfaces
.implements Landroid/content/DialogInterface$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/settings/AirCommandEnabler;->showAirCommandEnabledPopup()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCommandEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCommandEnablerV
.registers 2
.parameter
.prologue
.line 133
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler$2;->this$0:Lcom/android/settings/AirCommandEnabler;
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/content/DialogInterface;I)V
.registers 5
.parameter "dialog"
.parameter "which"
.prologue
.line 135
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler$2;->this$0:Lcom/android/settings/AirCommandEnabler;
#getter for: Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
invoke-static {v0}, Lcom/android/settings/AirCommandEnabler;->access$000(Lcom/android/settings/AirCommandEnablerLandroid/widget/Switch;
move-result-object v0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/Switch;->setChecked(Z)V
.line 136
return-void
.end method
.class Lcom/android/settings/AirCommandEnabler$3;
.super Ljava/lang/Object;
.source "AirCommandEnabler.java"
# interfaces
.implements Landroid/content/DialogInterface$OnClickListener;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/android/settings/AirCommandEnabler;->showAirCommandEnabledPopup()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/android/settings/AirCommandEnabler;
# direct methods
.method constructor <init>(Lcom/android/settings/AirCommandEnablerV
.registers 2
.parameter
.prologue
.line 127
iput-object p1, p0, Lcom/android/settings/AirCommandEnabler$3;->this$0:Lcom/android/settings/AirCommandEnabler;
invoke-direct/range {p0 .. p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public onClick(Landroid/content/DialogInterface;I)V
.registers 6
.parameter "dialog"
.parameter "which"
.prologue
const/4 v2, 0x1
.line 129
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler$3;->this$0:Lcom/android/settings/AirCommandEnabler;
#getter for: Lcom/android/settings/AirCommandEnabler;->mContext:Landroid/content/Context;
invoke-static {v0}, Lcom/android/settings/AirCommandEnabler;->access$100(Lcom/android/settings/AirCommandEnablerLandroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v0
const-string v1, "air_button_onoff"
invoke-static {v0, v1, v2}, Landroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
.line 130
iget-object v0, p0, Lcom/android/settings/AirCommandEnabler$3;->this$0:Lcom/android/settings/AirCommandEnabler;
#getter for: Lcom/android/settings/AirCommandEnabler;->mSwitch:Landroid/widget/Switch;
invoke-static {v0}, Lcom/android/settings/AirCommandEnabler;->access$000(Lcom/android/settings/AirCommandEnablerLandroid/widget/Switch;
move-result-object v0
invoke-virtual {v0, v2}, Landroid/widget/Switch;->setChecked(Z)V
.line 131
return-void
.end method
not so many eeh :laugh:
Someone just confirmed it working for them. I asked them how but they haven't responded back yet.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Would be great if it works.
[email protected] said:
Someone just confirmed it working for them. I asked them how but they haven't responded back yet.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Click to expand...
Click to collapse
Note II pen won't work on our S4
however found this line:
.method private turnOnPenInfoPreview()V
.registers 9
it's voided to being shown the aircmd info
and i find this very interesting: .local v2, penHover:Z
const-string v7, "pen_hovering_information_preview"
^ these indicates that bla bla hovering that does that bla bla,
if we were able to re indicate it to air view well,
it would be a possible go
but yeah the've only disabled the Aircmd from our S4 update however it can be re "added" but we won't be able to use it
LastStandingDroid said:
Note II pen won't work on our S4
however found this line:
.method private turnOnPenInfoPreview()V
.registers 9
it's voided to being shown the aircmd info
and i find this very interesting: .local v2, penHover:Z
const-string v7, "pen_hovering_information_preview"
^ these indicates that bla bla hovering that does that bla bla,
if we were able to re indicate it to air view well,
it would be a possible go
but yeah the've only disabled the Aircmd from our S4 update however it can be re "added" but we won't be able to use it
Click to expand...
Click to collapse
Good find man. If someone can do something with it that'll be great. I know you can use a stylus on the s4
https://www.youtube.com/watch?v=hA08EAjum48&feature=youtube_gdata_player
There's a video showing someone using it.
Just have to find a way to make these features work.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
[email protected] said:
Good find man. If someone can do something with it that'll be great. I know you can use a stylus on the s4
https://www.youtube.com/watch?v=hA08EAjum48&feature=youtube_gdata_player
There's a video showing someone using it.
Just have to find a way to make these features work.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Click to expand...
Click to collapse
the stylus is just your finger features it doesn't add any specific features to it so basically it's useless in this option.
but yeah again, if we re indicate the aircmd to the finger view instead it might work. though i'm not that good
---------- Post added at 09:15 PM ---------- Previous post was at 09:13 PM ----------
[email protected] said:
Someone just confirmed it working for them. I asked them how but they haven't responded back yet.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
Click to expand...
Click to collapse
that was a stylus pen he was talking about not S-pen trust me i've tried with my note II Spen and it did NOT work
I'm not good at that stuff so we have to find someone to be able to do that.
Sent from my SAMSUNG-SGH-I337 using xda app-developers app
wow nice dude!!
I think that we can try to port something. Seems that it I try to do an operation it says 'action not valid', so we can use note 3 files, I think...
Sent from my GT-I9505 using Tapatalk 4
robertogl said:
I think that we can try to port something. Seems that it I try to do an operation it says 'action not valid', so we can use note 3 files, I think...
Sent from my GT-I9505 using Tapatalk 4
Click to expand...
Click to collapse
Action not valid when?
[True Friendship doesn't exist]

[MOD] Samsung KeyBoard Swipe Color Change Found! - Updated Instructions

Okay, alot of dev's/themers been looking for this one...
If you use, please give credit, I spent many hours finding this Mod... Dont take credit for someone else's work...
This Mod will allow you to change the Samsung KeyBoard Swipe Color..(SamsungIME.apk)
Look for:
smali\com\diotek\ime\framework\view\AbstractKeyBoardView.smali
Search for -> .method private setTracePaintOptionsWithSettings()V
Click to see Org Code
Code:
.method private setTracePaintOptionsWithSettings()V
.locals 5
.prologue
const/16 v4, 0xff
const/4 v1, 0x1
const/4 v3, 0x0
.line 9829
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
if-nez v0, :cond_0
.line 9830
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
.line 9832
:cond_0
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
if-eqz v0, :cond_1
.line 9833
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 9835
:cond_1
iput-short v3, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePointCount:S
.line 9836
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 9837
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V
.line 9838
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
const/16 v1, 0xa5
const/16 v2, 0xf3
invoke-static {v4, v3, v1, v2}, Landroid/graphics/Color;->argb(IIII)I
Click to see what to change:
Code:
.method private setTracePaintOptionsWithSettings()V
.locals 5
.prologue
const/16 v4, [B][U][COLOR="Blue"]0xff[/COLOR][/U][/B] [B][COLOR="seagreen"]Change for Alpha Value - "0xff" [/COLOR][/B]
const/4 v1, 0x1
const/4 v3, [B][U][COLOR="Blue"]0x0[/COLOR][/U][/B] [B][COLOR="seaGreen"] - Change for Red Value - "0x0"[/COLOR][/B]
.line 9829
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
if-nez v0, :cond_0
.line 9830
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
.line 9832
:cond_0
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
if-eqz v0, :cond_1
.line 9833
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePoint:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 9835
:cond_1
iput-short v3, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePointCount:S
.line 9836
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 9837
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V
.line 9838
iget-object v0, p0, Lcom/diotek/ime/framework/view/AbstractKeyboardView;->mTracePaint:Landroid/graphics/Paint;
const/16 v1, [B][U][COLOR="Blue"]0xa5[/COLOR][/U][/B] [COLOR="seagreen"]- Change for Green Value - "0xa5"[/COLOR]
const/16 v2, [B][U][COLOR="Blue"]0xf3[/COLOR][/U][/B] [COLOR="seagreen"] - Change for Blue Value - "0xf3"[/COLOR]
invoke-static {v4, v3, v1, v2}, Landroid/graphics/Color;->argb(IIII)I
So what it boils down to is that the Swipe Color is what we call RGB color coding. I suggest a site like this to see values you can use:
Hex to RGB Color converter
Thats it folks.. swipe color squashed!!!!
Verified to work on N3 KeyBoards
A Little clarification on Instructions.
I was swamped with questions on how to edit and such.. So with @strongsteve help we dug more and here is an easier way to get your colors instead of trying to use RGB values..
change code:
Code:
const/16 v1, 0xa5
const/16 v2, 0xf3
to
Code:
const v3, 0x33
const v1, 0x66
const v2, 0xcc
Then just use any normal Hex Color code you would normally use!!!
In the above example I used 3366cc which is DarkHorse Blue..
I hope that helps
This has been long sought after....thanks for this and great work my friend! :highfive::good:
ALL Users must be reminded to give credit for this share, as, unless I am mistaken, it is not too many other places!

[MOD] Inverted Full Screen KeyBoard/Text edit(Landscape)

Finally tracked this one down, and just have to share this...
This Mod was found by @EMSpilot and @Gunthermic.. emspilot found the routine, and from there we figured the rest.. Give him a big kudos..
This is a MOD for Dev's to incorperate, this is NOT an End User MOD.
I have broken this down to each part of the inversion for those that want complete control over the Full Screen KeyBoard Layout.
1. Text Color
2. Cusor Color
3. BackGround Color
4. HighLight Color
What:
Framework.jar
framework-res.apk
Decompile Framework.jar file
Add/Change
Subtract/Delete
Go to:
smali\android\inputmethodservice\InputMethodService.smali
Search for:
.method startExtractingText(Z)V
Look for this code:
1. Text Color:
Code:
iget-object v8, v2, Landroid/view/inputmethod/EditorInfo;->hintText:Ljava/lang/CharSequence;
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setHint(Ljava/lang/CharSequence;)V
Right under that is:
Code:
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
invoke-static {v8, v9, v10}, Landroid/graphics/Color;->rgb(III)I
move-result v8
invoke-static {v8}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
The above code controls the text coloring on the Text Box. You have two options:
You can change the v8, v9, v10 which is the RGB value (0x0) is Black in this case and change them to -0x1 for each one to make text color white.
The second option you can do if you want a special color without having to figure out RGB color coding is to add:
const v8, smali colorcode (for example -0xCC9934(DarkHorse Blue)) below move-result v8.. like so...
invoke-static {v8, v9, v10}, Landroid/graphics/Color;->rgb(III)I
Code:
move-result v8
[COLOR="Blue"]const v8, -0xCC9934[/COLOR]
invoke-static {v8}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
Okay the next three items are much easier:
Right under the code for Text Coloring is the rest of the Inversion and other Changes
Code:
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setTextColor(Landroid/content/res/ColorStateList;)V
const/high16 v8, -0x100 # Cusor Color
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setCursorColor(I)V
.line 3261
const/4 v8, -0x1 #Background Color
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setBackgroundColor(I)V
.line 3265
const v8, -0x86350e #HighLight Cusor Color
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setHighlightColor(I)V
Code Changes: An Example of my changes
Code:
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setTextColor(Landroid/content/res/ColorStateList;)V
[COLOR="Blue"]const v8, -0x100 [/COLOR]#Cusor Color(Yellow)
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setCursorColor(I)V
[COLOR="Blue"]const v8, -0x1000000 [/COLOR]#BackGround(Black)
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setBackgroundColor(I)V
[COLOR="Blue"]const v8, -0xCC9934[/COLOR] #HighLight Cusor Color.(DarkHorse Blue)
invoke-virtual {v1, v8}, Landroid/inputmethodservice/ExtractEditText;->setHighlightColor(I)V
Okay Save that. One more Item that needs to be done complete the Inversion!!!
framework/res/layout/input_method_extract_view.xml
Line 5 needs to be changed to complete the inversion(makes the black appear around the Send button)
Code:
<FrameLayout android:id="@id/inputExtractAccessories" [COLOR="Blue"]android:background="#ff000000"[/COLOR] android:layout_width="wrap_content" android:layout_height="fill_parent" android:paddingStart="8.0dip" android:paddingEnd="8.0dip">
<android.inputmethodservice.ExtractButton android:layout_gravity="center" android:id="@id/inputExtractAction" android:layout_width="wrap_content" android:layout_height="wrap_content" />
<android.inputmethodservice.ExtractButton android:layout_gravity="center" android:id="@id/inputExtractEditButton" android:visibility="invisible" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/extract_edit_menu_button" />
</FrameLayout>
Save and Compile framework.jar and framework-res.apk..
Score!!!!
Great Tutorial Gun took about 15min.
Awesome. Glad to see someone took the time to figure this out. Always annoyed me that couldn't get inverted in landscape. Thank you sir.
[email protected]'$ [email protected]@XY- eliminate white backgrounds and any form of ics/holo blue.

Moving/Deleting Lidroid Toggles (Via Smalis)

So, Many Of You Have Added Lidroid Grid Toggles, In Your SystemUI, Or Many May Not
Today I 'm Here You To Show How To Move/Delete Any Lidroid Specific Toggle(s)
Guide Is Presented In Two Parts:
1. Moving Toggle(s).
2. Deleting Toggle(s).
PART 1: Moving Toggles
Decompile Your SystemUI.
Goto smali/com/lidroid/systemui/quickpanel.
Open PowerWidget.smali.
Let Us Suppose, We Are Deleting Sync Toggle.
Search "sync" in PowerWidet.smali.
You will Get 2 Result: (Do This In Both)
Code:
# static fields
.field private static final BUTTONS_DEFAULT:Ljava/lang/String; = "toggleWifi|toggleBluetooth|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate|toggleAirplane[COLOR="Red"]|toggleSync[/COLOR]"
Code:
.line 169
const-string v4, "toggleWifi|toggleBluetooth|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate|toggleAirplane[COLOR="Red"]|toggleSync[/COLOR]"
"put the code |togglesync in between any other toggle, where u want to put"
Code:
# static fields
.field private static final BUTTONS_DEFAULT:Ljava/lang/String; = "toggleWifi|toggleBluetooth|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate[COLOR="Red"]|toggleSync[/COLOR]|toggleAirplane"
Code:
.line 169
const-string v4, "toggleWifi|toggleBluetooth|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate[COLOR="Red"]|toggleSync[/COLOR]|toggleAirplane"
save it, close it
Compile SystemUI
Then paste it to System/apps
Reboot The Device
PART 2: Deleting Toggles
If You Want To Delete Toggle, (Let Us Try Deleting "Bluetooth" ), Open PowerWidget.smali
Delete The Red Code
Code:
# static fields
.field private static final BUTTONS_DEFAULT:Ljava/lang/String; = "toggleWifi[COLOR="Red"]|toggleBluetooth[/COLOR]|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleSync|toggleAutoRotate|toggleAirplane"
It Will Look Like This Now:
Code:
# static fields
.field private static final BUTTONS_DEFAULT:Ljava/lang/String; = "toggleWifi|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleSync|toggleAutoRotate|toggleAirplane"
Do The Same Here Too:
Code:
.line 169
const-string v4, "toggleWifi[COLOR="Red"]|toggleBluetooth[/COLOR]|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate|toggleSync|toggleAirplane"
It Will Look Like This:
Code:
.line 169
const-string v4, "toggleWifi|toggleMobileData|toggleSound|toggleFlashlight|toggleScreenTimeout|toggleAutoRotate|toggleSync|toggleAirplane"
Save and Close It.
Open PowerButton.smali
Search "bluetooth"
Now Delete The Red Code:
Code:
.field public static final BUTTON_AUTOROTATE:Ljava/lang/String; = "toggleAutoRotate"
[COLOR="Red"].field public static final BUTTON_BLUETOOTH:Ljava/lang/String; = "toggleBluetooth"[/COLOR]
.field public static final BUTTON_FLASHLIGHT:Ljava/lang/String; = "toggleFlashlight"
Code:
.line 56
sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleMobileData"
const-class v2, Lcom/lidroid/systemui/quickpanel/MobileDataButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
[COLOR="Red"] .line 58
sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleBluetooth"
const-class v2, Lcom/lidroid/systemui/quickpanel/BluetoothButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;[/COLOR]
.line 59
sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleSound"
const-class v2, Lcom/lidroid/systemui/quickpanel/SoundButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
After Deleting, It Will Look Like This:
Code:
.field public static final BUTTON_AUTOROTATE:Ljava/lang/String; = "toggleAutoRotate"
.field public static final BUTTON_FLASHLIGHT:Ljava/lang/String; = "toggleFlashlight"
Code:
.line 56
sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleMobileData"
const-class v2, Lcom/lidroid/systemui/quickpanel/MobileDataButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 59
sget-object v0, Lcom/lidroid/systemui/quickpanel/PowerButton;->BUTTONS:Ljava/util/HashMap;
const-string v1, "toggleSound"
const-class v2, Lcom/lidroid/systemui/quickpanel/SoundButton;
invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
Save It and Close It.
Also delete Bluetooth smali(s) in quickpanel folder
i.e. delete
Code:
[B]
BluetoothButton.smali
BluetoothButton$BluetoothStateTracker.smali
BluetoothButton$BluetoothStateTracker$1.smali
BluetoothButton$1.smali
[/B]
(So What We Have Done Here?...We Just Delete Its Main And Derived Smalis)
Now Compile App
Paste It To system/app
Reboot Device
......................................................................................................................................................
Press Thanks If This Guide Helped You
......................................................................................................................................................

System App which are potential Bloat, safe to Freeze, bcservice, context provider...

Looking at all the startup system apps that come with these devices, I have carefully got it down to what I consider a bare minimum. There are a few that I'm unsure about, and the info on them is very vague or non-existent.
com.sec.bcservice : read that this has to do with Syscope and HD voice and even call recording, I have had it disabled with no ill effect.
com.samsung.android.providers.context : Not much info on this other than what it sounds like is data collection (http://www.theinquirer.net/inquirer...ll-collect-user-data-to-share-with-developers)
org.simalliance.openmobileapi.service:remote : I believe this is needed for NFC and SIM secure location http://nelenkov.blogspot.com/2013/09/using-sim-card-as-secure-element.html
com.sec.android.service.sm - security related probably best to not freeze
Code:
.class public Lcom/sec/android/service/sm/service/SecurityManagerService;
.super Landroid/app/Service;
.source "SecurityManagerService.java"
# static fields
.field private static mDPM:Landroid/app/admin/DevicePolicyManager;
.field private static mKM:Landroid/app/KeyguardManager;
.field private static mSecurityJob:Lcom/sec/android/service/sm/job/SecurityJob;
# instance fields
.field private final mBinder:Lcom/sec/android/service/sm/service/ISecurityManager$Stub;
# direct methods
.method public constructor <init>()V
.locals 1
invoke-direct {p0}, Landroid/app/Service;-><init>()V
new-instance v0, Lcom/sec/android/service/sm/service/SecurityManagerService$1;
invoke-direct {v0, p0}, Lcom/sec/android/service/sm/service/SecurityManagerService$1;-><init>(Lcom/sec/android/service/sm/service/SecurityManagerService;)V
iput-object v0, p0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mBinder:Lcom/sec/android/service/sm/service/ISecurityManager$Stub;
return-void
.end method
.method static synthetic access$0()Lcom/sec/android/service/sm/job/SecurityJob;
.locals 1
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mSecurityJob:Lcom/sec/android/service/sm/job/SecurityJob;
return-object v0
.end method
.method private printVersion()V
.locals 1
const/4 v0, 0x1
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->setLogState(Z)V
const v0, 0x7f040002
invoke-virtual {p0, v0}, Lcom/sec/android/service/sm/service/SecurityManagerService;->getString(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->i(Ljava/lang/String;)I
return-void
.end method
# virtual methods
.method public getMaximumFailedPasswordsForWipe()I
.locals 2
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mDPM:Landroid/app/admin/DevicePolicyManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/app/admin/DevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;)I
move-result v0
return v0
.end method
.method public getPasswordHistoryLength()I
.locals 2
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mDPM:Landroid/app/admin/DevicePolicyManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/app/admin/DevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;)I
move-result v0
return v0
.end method
.method public getPasswordRecoverable()Z
.locals 2
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mDPM:Landroid/app/admin/DevicePolicyManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/app/admin/DevicePolicyManager;->getPasswordRecoverable(Landroid/content/ComponentName;)Z
move-result v0
return v0
.end method
.method public getSamsungEncryptionStatusForCC()I
.locals 2
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mDPM:Landroid/app/admin/DevicePolicyManager;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/app/admin/DevicePolicyManager;->getSamsungEncryptionStatusForCC(Landroid/content/ComponentName;)I
move-result v0
return v0
.end method
.method public isKeyguardSecure()Z
.locals 1
sget-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mKM:Landroid/app/KeyguardManager;
invoke-virtual {v0}, Landroid/app/KeyguardManager;->isKeyguardSecure()Z
move-result v0
return v0
.end method
.method public onBind(Landroid/content/Intent;)Landroid/os/IBinder;
.locals 1
const-string v0, "onBind"
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
invoke-direct {p0}, Lcom/sec/android/service/sm/service/SecurityManagerService;->printVersion()V
iget-object v0, p0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mBinder:Lcom/sec/android/service/sm/service/ISecurityManager$Stub;
return-object v0
.end method
.method public onCreate()V
.locals 1
invoke-super {p0}, Landroid/app/Service;->onCreate()V
const-string v0, "onCreate"
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
new-instance v0, Lcom/sec/android/service/sm/job/SecurityJob;
invoke-direct {v0}, Lcom/sec/android/service/sm/job/SecurityJob;-><init>()V
sput-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mSecurityJob:Lcom/sec/android/service/sm/job/SecurityJob;
const-string v0, "device_policy"
invoke-virtual {p0, v0}, Lcom/sec/android/service/sm/service/SecurityManagerService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/admin/DevicePolicyManager;
sput-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mDPM:Landroid/app/admin/DevicePolicyManager;
const-string v0, "keyguard"
invoke-virtual {p0, v0}, Lcom/sec/android/service/sm/service/SecurityManagerService;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/app/KeyguardManager;
sput-object v0, Lcom/sec/android/service/sm/service/SecurityManagerService;->mKM:Landroid/app/KeyguardManager;
return-void
.end method
.method public onDestroy()V
.locals 1
const-string v0, "onDestory"
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
invoke-super {p0}, Landroid/app/Service;->onDestroy()V
return-void
.end method
.method public onRebind(Landroid/content/Intent;)V
.locals 1
invoke-super {p0, p1}, Landroid/app/Service;->onRebind(Landroid/content/Intent;)V
const-string v0, "onRebind"
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
return-void
.end method
.method public onStartCommand(Landroid/content/Intent;II)I
.locals 3
const-string v1, "onStartCommand"
invoke-static {v1}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
invoke-direct {p0}, Lcom/sec/android/service/sm/service/SecurityManagerService;->printVersion()V
const/4 v0, 0x0
sget-object v1, Lcom/sec/android/service/sm/service/SecurityManagerService;->mSecurityJob:Lcom/sec/android/service/sm/job/SecurityJob;
invoke-virtual {v1}, Lcom/sec/android/service/sm/job/SecurityJob;->initCCMode()I
move-result v0
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "init CCMode : "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Lcom/sec/android/service/sm/util/Log;->i(Ljava/lang/String;)I
const/4 v1, 0x1
return v1
.end method
.method public onUnbind(Landroid/content/Intent;)Z
.locals 1
const-string v0, "onUnbind"
invoke-static {v0}, Lcom/sec/android/service/sm/util/Log;->d(Ljava/lang/String;)I
invoke-super {p0, p1}, Landroid/app/Service;->onUnbind(Landroid/content/Intent;)Z
move-result v0
return v0
.end method
com.sec.android.app.flashbarservice : This is a multi windows feature that comes with the phones. I have disabled it and still allows me to have the multi function capability so again not sure why it has to be enabled by default.
com.samsung.hs20settings : this is a passpoint feature for connecting to TV's via wifi and passpoint certification, again not sure why this is needed on startup unless you have a samsung tv you connect to all the time. I use chromecast personally. http://www.avsforum.com/forum/68-di...usd-msrp/464070-hs20-samsung-hd-settings.html
Prior to these my startup Free RAM is 1.5GB, will report back what it is after I freeze these.
Could you provide a list of everything you disabled?
I couldn't tell you everything from scratch b/c I have uninstalled some of those apps and very few i have frozen(disabled)... I can do you one better though, this is what I have currently before i start disabling the above..
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Lets assume i can safely disable the above in OP than I should have a phone with bare minimum apps needed to run, the fingerprint service can't be stopped if you are using the finger print sensor as your login which is what I'm doing but I believe the rest in the OP can safely be disabled
Thanks!
My pleasure, here is what is running now on startup. It fluctuates between 1.5GB to 1.6GB of free RAM depending on when Amazon app loads. Not sure why Amazon chooses to load itself on startup but I'll be digging into that. If every app did this at startup it would hinder the phone.
One way around the Amazon issue is to uninstall it (must have root) than download the app from Play, the native app uses boot events and others which starts it up every boot. The app from Play does not, problem solved

Categories

Resources