[Android General] tdunham:
[Guide How-to] Replace Carrier in Dropdown Shade with Custom Text

This is a simple edit allowing you to change the Carrier Label in the dropdown.

SystemUI.apk smali edit:

smali/com/android/systemui/statusbar/policy/NetworkController.smali

Search for method:

.method refreshViews()V

Then search within that method for the THIRD occurrence of:

Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

Add this code in BLUE right above the invoke-virtual line.

Change the 'your_custom_text' to what you want to display.

check-cast v15, Landroid/widget/TextView;

[COLOR="Blue"]const-string v13, "your_custom_text"[/COLOR]

invoke-virtual {v15, v13}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

add-int/lit8 v10, v10, 0x1

goto :goto_13

:cond_3c
move-object/from16 v0, p0

iget-object v0, v0, Lcom/android/systemui/statusbar/policy/NetworkController;->mATTMobileLabelViews:Ljava/util/ArrayList;

__________________________________________________

[Guide How-to] 360 Degree Rotation mod (with a toggle in mind)

I know there is a bools edit for this but this is the smali way so you can add a toggle.

android.policy.jar smali edit:

smali/com/android/internal/policy/impl/PhoneWindowManager.smali

Make the following change in BLUE, eqz to nez

iget v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowAllRotations:I

if-gez v2, :cond_20

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

invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

move-result-object v2

const v5, 0x111001f

invoke-virtual {v2, v5}, Landroid/content/res/Resources;->getBoolean(I)Z

move-result v2

if-[COLOR="Blue"]nez[/COLOR] v2, :cond_1f

move v0, v3

:cond_1f
iput v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowAllRotations:I

:cond_20
if-ne v1, v6, :cond_21

iget v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mAllowAllRotations:I

__________________________________________________

[Guide How-to] Enable onscreen Navigation Bar (with a toggle in mind)

Change the v8 value in the construct to match surrounding code if necessary.

I know there is a bools edit for this but this is the smali way so you can add a toggle.

android.policy.jar smali edit:

smali/com/android/internal/policy/impl/PhoneWindowManager.smali

Add the new line in BLUE

iput-boolean v8, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mNavigationBarCanMove:Z

const v8, 0x1110048

invoke-virtual {v5, v8}, Landroid/content/res/Resources;->getBoolean(I)Z

move-result v8

move-object/from16 v0, p0

[COLOR="Blue"] const/4 v8, 0x1
[/COLOR]
iput-boolean v8, v0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mHasNavigationBar:Z

const-string v8, "qemu.hw.mainkeys"

__________________________________________________

[Guide How-to] Remove Wireless Charging Popup Android L Added

This smali edit will allow you to remove the Wireless Charging Popup.

SystemUI.apk smali edit:

smali/com/android/systemui/power/PowerUI$1.smali

Search for the text highlighted in GREEN and delete all three occurrences. There are three total.

invoke-virtual/range {v25 .. v26}, Lcom/android/systemui/power/PowerUI;->[COLOR="Green"]showWirelessChargingNotice[/COLOR](I)V

Android L SystemUI smali edits:

\smali\com\android\systemui\power\PowerNotificationWarnings.smali

Add new code in BLUE:

(I think just removing all of the code between .locals and return-void will work as well. Just leave in .locals and return-void.)

.method public showWirelessChargingNotice()V
.locals 4

const/4 v0, 0x0

const/4 v1, 0x1

iget-object v2, p0, Lcom/android/systemui/power/PowerNotificationWarnings;->mContext:Landroid/content/Context;

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

move-result-object v2

[COLOR="Blue"]goto :goto_td
[/COLOR]
const-string v3, "SHOULD_SHUT_DOWN"

invoke-static {v2, v3, v0}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I

move-result v2

if-ne v1, v2, :cond_0

move v0, v1

:cond_0
if-eqz v0, :cond_1

const-string v1, "PowerUI.Notification"

const-string v2, "don\'t show wireless charging popup while Shutdown is ON"

invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I

:goto_0
return-void

:cond_1
sget-boolean v2, Lcom/android/systemui/power/PowerUI;->mFTAMode:Z

if-eqz v2, :cond_2

const-string v1, "PowerUI.Notification"

const-string v2, "FTA Mode is ON and don\'t show wireless charging popup"

invoke-static {v1, v2}, Landroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I

goto :goto_0

:cond_2
iput-boolean v1, p0, Lcom/android/systemui/power/PowerNotificationWarnings;->mWirelessCharger:Z

invoke-direct {p0}, Lcom/android/systemui/power/PowerNotificationWarnings;->updateNotificationSEC()V

invoke-virtual {p0}, Lcom/android/systemui/power/PowerNotificationWarnings;->turnOnScreen()V

goto :goto_0

[COLOR="Blue"]:goto_td
[/COLOR]
return-void
.end method

__________________________________________________

[Guide How-to] Remove Network Restriction/Toddler Mode Popup

This smali guide will allow you to remove the Toddler Mode confirmation popup.

SystemUI.apk smali edit:

smali/com/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton.smali

.method private showConfirmPopup(Z)V

Add the new code in BLUE

const/16 v3, 0x7d9

invoke-virtual {v2, v3}, Landroid/view/Window;->setType(I)V

:goto_1
[COLOR="Blue"]new-instance v7, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;

invoke-direct {v7, p0}, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;)V

iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

invoke-virtual {v7, v2, v8}, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton$3;->onClick(Landroid/content/DialogInterface;I)V

return-void[/COLOR]

iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/ToddlerModeQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

invoke-virtual {v2}, Landroid/app/Dialog;->show()V

return-void

__________________________________________________

[Guide How-to] Remove WiFi Hotspot confirmation popup

This allows you to remove the WiFi Hotspot confirmation popup.

SystemUI.apk smali edit:

smali/com/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton.smali

.method private showWarningDialog(Z)V

Add new code in BLUE

const/16 v3, 0x7d9

invoke-virtual {v2, v3}, Landroid/view/Window;->setType(I)V

:goto_1
[COLOR="Blue"]new-instance v7, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton$7;

invoke-direct {v7, p0, p1}, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton$7;-><init>(Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton;Z)V

const v5, 0x0

invoke-virtual {v7, v5, v8}, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton$7;->onClick(Landroid/content/DialogInterface;I)V

return-void[/COLOR]

iget-object v2, p0, Lcom/android/systemui/statusbar/policy/quicksetting/WiFiHotspotQuickSettingButton;->mAlertDialog:Landroid/app/AlertDialog;

invoke-virtual {v2}, Landroid/app/Dialog;->show()V

goto :goto_0

:cond_1

__________________________________________________

[Guide How-to] Display true 1x/3G Signal

This guide is specific to SPRINT builds. It may be possible to adapt for other carriers.

SystemUI.apk smali edit:

smali/com/android/systemui/statusbar/policy/NetworkController.smali

Search for first occurrence of updateSPRDataNetType and make change indicated in BLUE

:pswitch_4
invoke-direct {p0}, Lcom/android/systemui/statusbar/policy/NetworkController;->[COLOR="Blue"]updateVZWDataNetType[/COLOR]()V

The rest of the changes are in the following method

.method private final updateVZWDataNetType()V

Find ALL occurrences of DATA_3G in the method and change to DATA_3G_SPR (in the above method only)

Example:

sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->[COLOR="Blue"]DATA_3G_SPR[/COLOR]:[[I

Find DATA_4G_LTE and change to DATA_LTE_SPR.

There is only one.

:pswitch_9
sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->[COLOR="Blue"]DATA_LTE_SPR[/COLOR]:[[I

Find the FIRST :pswitch occurrence with mShowAtLeastThreeGees in the method and change the nez to eqz. Change is indicated in BLUE

:pswitch_6
iget-boolean v0, p0, Lcom/android/systemui/statusbar/policy/NetworkController;->mShowAtLeastThreeGees:Z

[COLOR="Blue"] if-eqz[/COLOR] v0, :cond_4

sget-object v0, Lcom/android/systemui/statusbar/policy/TelephonyIcons;->DATA_1X:[[I

. .

__________________________________________________

[Guide How-to] Enable App Ops Permissions Menu

This will allow you to enable the hidden applications permissions area.

SecSettings.apk xml edits:

New Line in both xml files for where the icon will appear in the menus

SecSettings\res\xml\settings_headers.xml

SecSettings\res\xml\grid_settings_headers.xml

<header android:icon="@drawable/ic_setting_grid_applicationpermissions" android:id="@id/appops_settings" android:title="@string/app_ops_settings" android:fragment="com.android.settings.applications.AppOpsSummary" />

res/values/ids.xml

New line

<item type="id" name="appops_settings">false</item>

Optional Edit to change Display Name

res/values/strings.xml

Before:

<string name="app_ops_settings">App ops</string>

After:

<string name="app_ops_settings">Permissions manager</string>

Screenshots represent a custom rom, your icon will be a bit different as well:

. .

__________________________________________________

[Guide How-to] Enable Lockscreen Widgets

This will allow you to enable the lockscreen widgets that were disabled on the Galaxy S5.

Keyguard.apk smali edits:

\smali\com\android\keyguard\sec\KeyguardProperties.smali

Change the 0x0 value to 0x1 as noted in BLUE

.method public static isPreviousLook()Z
.locals 5

const/4 v1, 0x1

const/4 v2, [COLOR="Blue"]0x1
[/COLOR]
const-string v3, "americano"

\smali\com\android\keyguard\KeyguardHostView.smali

Add new line in BLUE

The v5 construct value must match the surrounding code.

const-string v8, "kg_multiple_lockscreen"

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

move-result v5

[COLOR="Blue"]const v5, 0x1[/COLOR] [COLOR="Red"]## Add Toggle here[/COLOR]

if-ne v5, v6, :cond_c

move v5, v6

Add new line in blue

The v0 construct value must match the surrounding code.

invoke-virtual {v0}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v0

[COLOR="Blue"]const v0, 0x0[/COLOR]

if-nez v0, :cond_1

if-ne v3, v1, :cond_3

invoke-direct {p0}, Lcom/android/keyguard/KeyguardHostView;->cameraDisabledByDpm()Z

Add new line in blue

The v0 construct value must match the surrounding code.

iget-object v0, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

invoke-virtual {v0}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v0

[COLOR="Blue"]const v0, 0x0
[/COLOR]
if-eqz v0, :cond_2

:cond_0
const/4 v0, 0x0

invoke-direct {p0, v0}, Lcom/android/keyguard/KeyguardHostView;->addDefaultStatusWidget(I)V

Add new line in blue

The v3 construct value must match the surrounding code.

iget-object v3, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v3

[COLOR="Blue"] const v3, 0x0
[/COLOR]
invoke-virtual {v0, v3}, Lcom/android/keyguard/SlidingChallengeLayout;->setIsSecured(Z)V

Add new line in blue

The v3 construct value must match the surrounding code.

(this is a second identical change just like the one above, it is just a few lines below the previous one)

iget-object v3, p0, Lcom/android/keyguard/KeyguardHostView;->mLockPatternUtils:Lcom/android/internal/widget/LockPatternUtils;

invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v3

[COLOR="Blue"] const v3, 0x0
[/COLOR]
invoke-virtual {v0, v3}, Lcom/android/keyguard/MultiPaneChallengeLayout;->setIsSecured(Z)V

\smali\com\android\keyguard\KeyguardWidgetPager.smali

Add new line in BLUE

The v0 construct value must match the surrounding code.

const-string v3, "kg_multiple_lockscreen"

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

move-result v0

[COLOR="Blue"]const v0, 0x1[/COLOR] [COLOR="Red"]## Add Toggle here[/COLOR]

if-ne v0, v1, :cond_3

:goto_2

Change the 0x1 value to 0x0 as noted in BLUE

.method public onPageSwitched(Landroid/view/View;I)V
.
.
.
:cond_0
if-eqz p1, :cond_1

invoke-static {p1}, Lcom/android/keyguard/KeyguardWidgetPager;->findClockInHierarchy(Landroid/view/View;)I

move-result v6

const/4 v7, 0x3

if-ne v6, v7, :cond_1

const/4 v4, [COLOR="Blue"]0x0[/COLOR]

:cond_1
if-eqz v4, :cond_6

invoke-virtual {p0}, Landroid/view/View;->getSystemUiVisibility()I

move-result v6

const/high16 v7, 0x80

or-int/2addr v6, v7

Find all three occurrences of isSecure and add the new line in BLUE making certain that the v register matches surrounding code.

invoke-virtual {v1}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v1

[COLOR="Blue"]const v1, 0x0[/COLOR]

if-eqz v1, :cond_2

invoke-virtual {v3}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v3

[COLOR="Blue"]const v3, 0x0[/COLOR]

if-eqz v3, :cond_2

invoke-virtual {v1}, Lcom/android/internal/widget/LockPatternUtils;->isSecure()Z

move-result v1

[COLOR="Blue"]const v1, 0x0
[/COLOR]
if-eqz v1, :cond_2

\smali\com\android\keyguard\KeyguardActivityLauncher.smali

Change the 0x2 to 0x3 indicated in BLUE

.method public launchWidgetPicker(I)V
.locals 7

const/4 v4, 0x0

const/4 v3, [COLOR="Blue"]0x3
[/COLOR]
const/4 v2, 0x0

new-instance v1, Landroid/content/Intent;

const-string v0, "android.appwidget.action.KEYGUARD_APPWIDGET_PICK"

__________________________________________________

[Guide How-to] Enable Custom Home Button Functions

This will allow you to set custom Home Button functions on the Galaxy S5.

android.policy.jar smali edits:

First, let's enable the Home DoubleTap and TripleTap features:

smali\com\android\internal\policy\impl\sec\SamsungPhoneWindowManager.smali

Find the method, change the value indicated in BLUE from 0x0 to 0x1:

(Yes, I know DoubleTap is already enabled, but this will also prevent DoubleTap from being disabled by the toggle in Svoice. The method edit is optional I suppose but I got tired of users disabling it accidentally.)

.method public isDoubleTapOnHomeEnabled()Z
.locals 1

iget v0, p0, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->mDoubleTapOnHomeBehavior:I

if-eqz v0, :cond_0

const/4 v0, 0x1

:goto_0
return v0

:cond_0
[COLOR="Blue"]const/4 v0, 0x1
[/COLOR]
goto :goto_0
.end method

A little further down in the same smali, find the method for isTripleTapOnHomeEnabled and REPLACE the entire method with this one:

.method public isTripleTapOnHomeEnabled()Z
.locals 1

iget v0, p0, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->mTripleTapOnHomeBehavior:I

if-eqz v0, :cond_0

const/4 v0, 0x1

:goto_0
return v0

:cond_0
const/4 v0, 0x1

goto :goto_0
.end method

Now we're moving on to the actual functions for Home button in PhoneWindowManager.smali.

First, I will list all functions we can use and then where in the smali to make line replacements:

Voice Command

invoke-virtual {v0}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->launchVoiceCommand()V

Recent Apps

invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->toggleRecentApps()V

Screenshot

invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->takeScreenshot()V

Flashlight

invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->toggleTorch()V

PhoneWindowManager.smali edits

\smali\com\android\internal\policy\impl\PhoneWindowManager.smali

Add this new method to enable Flashlight function. I added mine right above

.method private updateEasyOneHandState(ZZ)V

.method private toggleTorch()V
.locals 5

const/4 v2, 0x0

const/4 v1, 0x0

const/4 v0, 0x2

iget v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mFlashlight:I

add-int/lit8 v3, v3, 0x1

iput v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mFlashlight:I

iget v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mFlashlight:I

rem-int/lit8 v3, v3, 0x2

iput v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mFlashlight:I

iget v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mFlashlight:I

const/4 v4, 0x1

if-ne v3, v4, :cond_0

const-string v1, "com.sec.samsung.torchwidget.torch_on_3"

const/4 v0, 0x1

:goto_0

new-instance v2, Landroid/content/Intent;

invoke-direct {v2, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V

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

invoke-virtual {v3, v2}, Landroid/content/Context;->sendBroadcast(Landroid/content/Intent;)V

return-void

:cond_0
const-string v1, "com.sec.samsung.torchwidget.torch_off"

goto :goto_0
.end method

Important Note

:

DO NOT make the changes indicated in GREEN when using Flashlight or Screenshot. This will disable them from activating from the lockscreen.

In the indicated method(s), add the new code indicated in GREEN (exception is for Flashlight and Screenshot, see the note right above this one) and BLUE and replace the entire line indicated in RED with one of the lines shown above.

Home DoubleTap Function

.method private handleDoubleTapOnHome()V
[COLOR="Green"].locals 3[/COLOR]
.
.
.
.
[COLOR="Green"] iget-boolean v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mShowingLockscreen:Z

if-nez v2, :cond_td[/COLOR]

[COLOR="Red"]invoke-virtual {v0}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->launchVoiceCommand()V
[/COLOR]
[COLOR="Green"]:cond_td[/COLOR]
goto :goto_0
.end method

Home TripleTap Function

.method private handleTripleTapOnHome()V
[COLOR="Green"].locals 3[/COLOR]
.
.
.
.
const-string v1, "Home tripleTap : DeviceProvisioned"

invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSPWM:Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;

[COLOR="Green"] iget-boolean v2, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mShowingLockscreen:Z

if-nez v2, :cond_td2
[/COLOR] [COLOR="Red"]invoke-virtual {v0}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->sendBroadcastForAccessibility()V[/COLOR]

[COLOR="Green"] :cond_td2
[/COLOR] :goto_0
return-void

:cond_0
const-string v0, "WindowManager"

const-string v1, "Home tripleTap : notDeviceProvisioned"

invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

iget-object v0, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mSPWM:Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;

invoke-virtual {v0}, Lcom/android/internal/policy/impl/sec/SamsungPhoneWindowManager;->callAccessibilityTalkbackMode()V

goto :goto_0
.end method

Home Longpress Function

.method private handleLongPressOnHome()V
[COLOR="Green"].locals 8[/COLOR]
.
.
.
.
iget v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mLongPressOnHomeBehavior:I

[COLOR="Blue"]if-ne v3, v6, :cond_td3
[/COLOR]
invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->toggleRecentApps()V

goto :goto_0

:catch_0
move-exception v1

const-string v3, "WindowManager"

const-string v4, "RemoteException from getTelephonyService()"

invoke-static {v3, v4, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

goto :goto_1

[COLOR="Blue"]:cond_td3
[/COLOR] iget v3, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mLongPressOnHomeBehavior:I

const/4 v4, 0x2

if-ne v3, v4, :cond_0

const v3, 0x1

[COLOR="Green"] iget-boolean v7, p0, Lcom/android/internal/policy/impl/PhoneWindowManager;->mShowingLockscreen:Z

if-nez v7, :cond_td4[/COLOR]

[COLOR="Red"] invoke-direct {p0}, Lcom/android/internal/policy/impl/PhoneWindowManager;->launchAssistAction()V
[/COLOR]
[COLOR="Green"]:cond_td4[/COLOR]
goto :goto_0
.end method

__________________________________________________

[Guide How-to] Disable Increasing Ringer Android L

This will allow you to disable the increasing ringtone.

Telecom.apk smali edit:

smali\com\android\server\telecom\secutils\SecAsyncRingtonePlayer.smali

Delete the line in RED.

.method static synthetic access$000(Lcom/android/server/telecom/secutils/SecAsyncRingtonePlayer;Landroid/net/Uri;)V
.
.
.
const-string v0, "mHandler: getStreamVolume - "

new-array v1, v5, [Ljava/lang/Object;

iget v2, p0, Lcom/android/server/telecom/secutils/SecAsyncRingtonePlayer;->mOriginRingtoneVolume:I

invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

move-result-object v2

aput-object v2, v1, v3

invoke-static {p0, v0, v1}, Lcom/android/server/telecom/Log;->v(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V

iget-object v0, p0, Lcom/android/server/telecom/secutils/SecAsyncRingtonePlayer;->mAudioManager:Landroid/media/AudioManager;

[COLOR="Red"]invoke-virtual {v0, v4, v5, v3}, Landroid/media/AudioManager;->setStreamVolume(III)V[/COLOR]

iget-object v0, p0, Lcom/android/server/telecom/secutils/SecAsyncRingtonePlayer;->mHandler:Landroid/os/Handler;

const-wide/16 v2, 0x7d0

invoke-virtual {v0, v6, v2, v3}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z