HTC One SU (T528w)

Search This thread

alex_in

Member
Nov 24, 2005
13
2
You better to fully deodex your rom (optional), then put needed gapps apks and then resign all apks with shared UID.

Update script must be signed with the same key/certificate!
User data/cache/secure wipe is mandatory!
ramdisk must be repacked with turned on ADB debugging for emergency cases.

The main issue why we can't see google is GoogleLoginService.apk which uses shared user uid, but has different signature.

shared UID apks can be identified with

adb shell dumpsys package
or
adb pull /data/system/packages.xml
could we just find apk that has the same user id as googleloginservice.apk and sign all of them including googleloginservice with the same key? Or may be the original htc firmware with gapps contains another apps that have user id which is the same as googleloginservice?
 
Last edited:

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
We WON!!

Sorry guys, everything I wrote before - is a bull****.

Here is right way and explanation.

So, how did I find where is this damn problem.

First of all, I turned ON adb debug on my phone and started investigation with logcat.
When going to Settings -> Accounts and Sync -> Add an account, i observed these lines

Code:
I/ActivityManager( 1803): START intent from pid 6695
I/HTCActionBar( 6695): enableHTCActionBar()
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.viber.voip.account
D/ChooseAccountActivity( 6695): accounts.length=0
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.dropbox.android.account
D/ChooseAccountActivity( 6695): accounts.length=1
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.htc.android.mail.eas
D/ChooseAccountActivity( 6695): accounts.length=0
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.whatsapp
D/ChooseAccountActivity( 6695): accounts.length=1
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.skype.contacts.sync
D/ChooseAccountActivity( 6695): accounts.length=1
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.htc.sync.provider.weather
D/ChooseAccountActivity( 6695): accounts.length=1
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/ChooseAccountActivity( 6695): MLongin=false
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.htc.android.windowslive
D/ChooseAccountActivity( 6695): accounts.length=0
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.htc.android.mail
D/ChooseAccountActivity( 6695): accounts.length=0
D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.google
D/ChooseAccountActivity( 6695): accounts.length=3
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/skia    ( 6695): Decode special JPEG file
D/skia    ( 6695): Decode special JPEG file
I/[PP_CIME_PROVIDER]( 2018): release OK..........
I/ActivityManager( 1803): Displayed com.android.settings/.accounts.ChooseAccountActivity: +248ms (total +274ms)

first of all look at these lines

D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.htc.sync.provider.weather
D/ChooseAccountActivity( 6695): accounts.length=1
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
D/ChooseAccountActivity( 6695): MLongin=false

D/ChooseAccountActivity( 6695): addAccountPrefQ accountType=com.google
D/ChooseAccountActivity( 6695): accounts.length=3
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()
W/AccountManagerService( 1803): calling uid equals android.os.Process.SYSTEM_UID, ignore check hasAuthenticatorUid()


That was very strange for me why Google account can not be Multiple. OK.
I decompiled Settings.apk and found where this debugging is happening.

Function, which triggers logcat is following

Code:
  private boolean addAccountPrefQ(String paramString)
  {
    Log.d("ChooseAccountActivity", "addAccountPrefQ accountType=" + paramString);
    Account[] arrayOfAccount = AccountManager.get(this).getAccountsByType(paramString);
    if (arrayOfAccount != null)
    {
      Log.d("ChooseAccountActivity", "accounts.length=" + arrayOfAccount.length);
      int i = arrayOfAccount.length;
      for (int j = 0; ; j++)
      {
        String str;
        if (j < i)
        {
          Account localAccount = arrayOfAccount[j];
          str = AccountManager.get(this).getUserData(localAccount, "MultipleLogin");
          if (str != null)
            Log.d("ChooseAccountActivity", "MLongin=" + str);
        }
        else
        {
          return str.equals("true");
        }
      }
    }
    return false;
  }

If this function is private, that is mean we must have parent invoker. Yes, parent function is following

Code:
private void onAuthDescriptionsUpdated()
  {
    this.mProviderList.clear();
    int i = 0;
    if (i < this.mAuthDescs.length)
    {
      String str = this.mAuthDescs[i].type;
      CharSequence localCharSequence = getLabelForType(str);
      ArrayList localArrayList1 = getAuthoritiesForAccountType(str);
      int m = 1;
      int n;
      if ((this.mAuthorities != null) && (this.mAuthorities.length > 0) && (localArrayList1 != null))
      {
        n = 0;
        label71: int i1 = this.mAuthorities.length;
        m = 0;
        if (n < i1)
        {
          if (!localArrayList1.contains(this.mAuthorities[n]))
            break label203;
          m = 1;
        }
      }
      if ((m != 0) && (this.mAccountTypesFilter != null) && (!this.mAccountTypesFilter.contains(str)))
        m = 0;
      boolean bool = addAccountPrefQ(str);
      if ((str.equals("com.google")) && (BuildUtils.Customization.isChina()))
        m = 0;
      if ((m != 0) && (bool))
      {
        ArrayList localArrayList2 = this.mProviderList;
        ProviderEntry localProviderEntry2 = new ProviderEntry(localCharSequence, str);
        localArrayList2.add(localProviderEntry2);
      }
      while (true)
      {
        i++;
        break;
        label203: n++;
        break label71;
        if (Log.isLoggable("ChooseAccountActivity", 2))
          Log.v("ChooseAccountActivity", "Skipped pref " + localCharSequence + ": has no authority we need");
      }
    }
    if (this.mProviderList.size() == 1)
      addAccount(((ProviderEntry)this.mProviderList.get(0)).type);
    while (true)
    {
      return;
      if (this.mProviderList.size() <= 0)
        break;
      Collections.sort(this.mProviderList);
      if (this.mAddAccountGroup != null)
        this.mAddAccountGroup.removeAll();
      Iterator localIterator = this.mProviderList.iterator();
      while (localIterator.hasNext())
      {
        ProviderEntry localProviderEntry1 = (ProviderEntry)localIterator.next();
        Drawable localDrawable = getDrawableForType(localProviderEntry1.type);
        ProviderPreference localProviderPreference = new ProviderPreference(this, localProviderEntry1.type, localDrawable, localProviderEntry1.name);
        this.mAddAccountGroup.addPreference(localProviderPreference);
      }
    }
    if (Log.isLoggable("ChooseAccountActivity", 2))
    {
      StringBuilder localStringBuilder = new StringBuilder();
      String[] arrayOfString = this.mAuthorities;
      int j = arrayOfString.length;
      for (int k = 0; k < j; k++)
      {
        localStringBuilder.append(arrayOfString[k]);
        localStringBuilder.append(' ');
      }
      Log.v("ChooseAccountActivity", "No providers found for authorities: " + localStringBuilder);
    }
    setResult(0);
    finish();
  }

If you deeply look at this code, you will find something interesting

boolean bool = addAccountPrefQ(str);
if ((str.equals("com.google")) && (BuildUtils.Customization.isChina()))
m = 0;


Ok, I took smali file of this package and changed code a little bit

BEFORE
Code:
    .line 191
    invoke-static {}, Lcom/htc/util/contacts/BuildUtils$Customization;->isChina()Z

    move-result v18

    if-eqz v18, :cond_2

AFTER
Code:
    .line 191
    invoke-static {}, Lcom/htc/util/contacts/BuildUtils$Customization;->isChina()Z

    move-result v18

    if-nez v18, :cond_2

difference on last line, I changed if-eqz to if-nez.
Then I pushed patched Settings.apk to my phone and checked Add new account menu. Yahoooooo!!! It works. I see Google account!! But unfortunately only for viewing. It is read only because not everywhere patch applied. Ok, I continued my investigation.

I decompiled framework completely and found such function in two jars (com.htc.android.bluetooth.jar and HTCExtension.src).

Code:
    public static boolean isChina()
    {
      if ((HtcBuildFlag.Htc_PROJECT_flag == 216) || (HtcBuildFlag.Htc_PROJECT_flag == 218) || (HtcBuildFlag.Htc_PROJECT_flag == 23));
      while (((HtcBuildFlag.Htc_PROJECT_flag == 1) && (2 == HtcBuildFlag.Htc_LANGUAGE_flag)) || (HtcBuildFlag.Htc_PROJECT_flag == 27))
        return true;
      return false;
    }

Ok. It is not efficient to change standard function, let's find where Htc_PROJECT_flag is located.
Grepping through the source code I found it in two jars (framework2.jar and ext.jar)

Code:
package com.htc.htcjavaflag.HtcDebugFlag;

    public static final short Htc_PROJECT_flag = getHtc_PROJECT_flag();

    public static final short getHtc_PROJECT_flag()
    {
        return 23;
    }

Ok, Good! It is hard coded and can be changed. But what value put there? I took another rom from the simmilar dual sim device with working rom and found that this package returns 52.

Ok, taking smali from both jars and looking at this code

Code:
.method public static final getHtc_PROJECT_flag()S
    .registers 1

    .prologue
    .line 1799
    const/16 v0, 0x17

    return v0
.end method

(HEX) 0x17 = (DEC) 23

so changing to 0x34

Code:
.method public static final getHtc_PROJECT_flag()S
    .registers 1

    .prologue
    .line 1799
    const/16 v0, 0x34

    return v0
.end method

deodexing both jars, backsmaling, patching, smaling back, replacing on the phone and .... brick :eek:

May be because system framework must be fully odexed or fully deodexed, but not partly. In my case I put deodexed jars to odexed rom.

Ok. restoring from last and not fresh backup :(

Let's try another way: we will reodex our patched jar, then will make binary comparison between our patched and stock odex files to be sure everything is ok and no need to deodex some of framework jars. This will be usefull to apply patch after OTA updates and do not assemble/disassemble each time.

to be continued.
 
Last edited:

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
good news

I fully deodexed rom and patched framework2 and ext jars.

So now I can easily add account through Add account.

But still can not change sync options. anyway we have progress.

Investigating source code and trying to find the reason

to be continued.
 

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
guys, i need your help

I'm not android even java programmer, I'm good only in assembling & disassembling cause have huge experience with Assembler code editing.

so kindly ask you to help with investigation.

Please point me out which function is invoked when I'm opening Accounts & sync in Settings application
 
Last edited:

hiazzz

Member
Oct 29, 2011
14
1
Hi dears,

I have also this device and am having trouble with caller ID, example: in my contacts, a person has the number as 88883333, but the carrier identifies as 07188883333, the device does not associate the call and is showing as unknown contact, at other android devices, including my Lenovo a789 it did not happen, I dont know how to solve, not wanted to change all my contacts and put the 071 at first which is the area code. Another problem I face is an sms informing the carrier throughout the area now that I am, 2 by 2 min,'ve seen on the internet that is only an option to disable the menu links, such CB or cell broadcast, the problem is that this option does not appear for me in this rom, where is this option in this rom? I do not know what to do with these problems ... i use stock rom i think.

To solve the 1st problem, you need to root your phone, then change the number after “ro.phone.min_match=” in file /system/build.prop
 

triaqu

Senior Member
May 4, 2008
64
10
ChengDu
In accordance with your method, I only changed if-eqz to if-nez on my cp2dtg(t528t). in the sync/Add account , I can see the google and it works well.

but can't see the google account in the sync.
 
  • Like
Reactions: Falseclock

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
I won the war!

Important update! In initial version of this post were 3 function need to be patched. Now only 2. Please not, if you will change DEVICE_FLAG - second sim card will not work properly.

Here is how to make your google properly working

You need to change HtcBuildFlag.java in ext.jar and framework2.jar files

what we should change?

SOURCE
Code:
public static final short getHtc_LANGUAGE_flag()
    {
        return 2;
    }

    public static final short getHtc_PROJECT_flag()
    {
        return 23;
    }
PATCHED
Code:
 public static final short getHtc_LANGUAGE_flag()
    {
        return 0;
    }

    public static final short getHtc_PROJECT_flag()
    {
        return 52;
    }

after changing everything related to google will work.

How to make it by yourself (only for advanced users)

1. You need fully deodex and zipalign you rom, because you can not have partly odexed partly deodexed framework.
2. Save ext.odex and framework2.odex files for future patching
3. Backsmali both odex files with command

java -Xmx512m -jar baksmali.jar -a 15 -x framework2.jar -d <FRAMEWORK DIR> -o framework2
java -Xmx512m -jar baksmali.jar -a 15 -x ext.jar -d <FRAMEWORK DIR> -o ext


4. You will get smali file which are needed to be patched. com\htc\htcjavaflag\HtcBuildFlag.smali

5. Find there 2 functions written above and change in smali files. Values written in HEX format, you should convert it from DEC
Finaly you should have this
.method public static final getHtc_LANGUAGE_flag()S
.registers 1

.prologue
.line 1801
const/4 v0, 0x0

return v0
.end method
and
.method public static final getHtc_PROJECT_flag()S
.registers 1

.prologue
.line 1799
const/16 v0, 0x34

return v0
.end method


6. Smali back both jars

java -Xmx512m -jar smali.jar -a 15 framework2-o framework2.dex
java -Xmx512m -jar smali.jar -a 15 ext -o ext.dex


7. Rename each file to classes.dex and replace in deodexed jars

8. Create update script and deodex your rom with patched jars

9. Make full user/cache wipe through CWM, otherwise phone will not boot.

10. First boot will take 3-5 minutes cause device will odex each application.

11. Enjoy


---------- Post added at 02:17 PM ---------- Previous post was at 02:15 PM ----------

but can't see the google account in the sync.

yes, I wrote before, it appears in Add account but not visible in Sync settings

please read message above, it has solution. And do not forget to revert changes in you Settings.apk
By the way, Play Store icon on the top header between Search and Menu buttons now also visible as it should be.

UPD: under WiFi 3G, 4G, E, G icons - should not be visible.

Please take anyone screenshots with WiFi conected, do you see any icons identifying connection status?
 

Attachments

  • 2013-02-17_15-32-51.jpg
    2013-02-17_15-32-51.jpg
    38.6 KB · Views: 130
  • 2013-02-17_15-34-10.jpg
    2013-02-17_15-34-10.jpg
    22.1 KB · Views: 129
  • 2013-02-17_15-34-16.jpg
    2013-02-17_15-34-16.jpg
    24.6 KB · Views: 126
  • 2013-02-17_15-34-21.jpg
    2013-02-17_15-34-21.jpg
    26.7 KB · Views: 123
Last edited:

triaqu

Senior Member
May 4, 2008
64
10
ChengDu

Important update! In initial version of this post were 3 function need to be patched. Now only 2. Please not, if you will change DEVICE_FLAG - second sim card will not work properly.



thanks your tutorials.

I've tried on my cp2dtg and find only need to patch ext.jar, change the value of
getHtc_LANGUAGE_flag() to 0x0 then the google account will see.

my t528t's getHtc_PROJECT_flag() value is 0xda,if change to 0x34,although add account will show google but the "H"/"G" is not show,so i patched settings.apk to "if-nez ". then everything is OK.
 
  • Like
Reactions: Falseclock

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
thanks your tutorials.

I've tried on my cp2dtg and find only need to patch ext.jar, change the value of
getHtc_LANGUAGE_flag() to 0x0 then the google account will see.

my t528t's getHtc_PROJECT_flag() value is 0xda,if change to 0x34,although add account will show google but the "H"/"G" is not show,so i patched settings.apk to "if-nez ". then everything is OK.

I feel you thinking like a programmer )))

Thank you for tips. I will test to change only language and patch Settings.apk.

But I'm still interesting how to patch SystemUI.apk to return back H,G,E icons.

Do you have Playstore icon in the applications menu? Between Search and Settings on the header?
 
Last edited:
  • Like
Reactions: andribus1975

VisuM

Member
Sep 25, 2012
43
11
I won the war!

Important update! In initial version of this post were 3 function need to be patched. Now only 2. Please not, if you will change DEVICE_FLAG - second sim card will not work properly.


It's been a while since I was active on this thread because I'm very stressed in my job these days but I'm really glad that people like you (Falseclock) and (bgcngm) are contributing very well on the only thread available of this device.

I really appreciate your efforts and to give you the credit you deserve; everyone should know that what you do is not easy for average users, so really thank you for the great effort.

I was hoping I could have the time to assit you both in testing but I will do that later on.

Can you please share your version of deodexed rom? (is it based on latest fota?)

and also if you have finally reached a stable version after patching, please generate a cwm update.zip so that we can try it.

btw, I noticed you have a problem keeping uploaded files for longer than 3 days, I will pm you an ftp account on my server where the file can stay sometime longer.
 
  • Like
Reactions: Falseclock

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
Okay, tried to flash /dev/block/mmcblk0p8:
Code:
dd if=/sdcard/mmcblk0p8 of=/dev/block/mmcblk0p8
64+0 records in
64+0 records out
32768 bytes (32.0KB) copied, 0.008148 seconds, 3.8MB/s

The result seems to be successful, but nothing changes. After dumping back /dev/block/mmcblk0p8 I notice that nothing has been flashed.

Any other suggestion?

Can you try to do that through recovery?

But you need to repack recovery boot image and set following properties

Code:
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1


---------- Post added at 07:57 PM ---------- Previous post was at 07:52 PM ----------

Can you please share your version of deodexed rom? (is it based on latest fota?)

and also if you have finally reached a stable version after patching, please generate a cwm update.zip so that we can try it.

btw, I noticed you have a problem keeping uploaded files for longer than 3 days, I will pm you an ftp account on my server where the file can stay sometime longer.

Thanks for your feedback. :good:

Yes, I'm using last OTA CP2DUG_1.13.1402.12

Now creating Aroma installer to make full script, including Chinese apps deletion, Additional Languages installation, busybox, root and another stock application for Sense, like Dropbox, Flickr, Twitter and so on.
 

VisuM

Member
Sep 25, 2012
43
11
Thanks for your feedback. :good:

Yes, I'm using last OTA CP2DUG_1.13.1402.12

Now creating Aroma installer to make full script, including Chinese apps deletion, Additional Languages installation, busybox, root and another stock application for Sense, like Dropbox, Flickr, Twitter and so on.

Perfect! I'm looking forward to have it.
 

triaqu

Senior Member
May 4, 2008
64
10
ChengDu
I feel you thinking like a programmer )))

Thank you for tips. I will test to change only language and patch Settings.apk.

But I'm still interesting how to patch SystemUI.apk to return back H,G,E icons.

Do you have Playstore icon in the applications menu? Between Search and Settings on the header?

don't need to patch SystemUI.apk, if you don't change the getHtc_PROJECT_flag() value,the H,G,E icons will show.

have the playstore icon .
 
  • Like
Reactions: Falseclock

alex_in

Member
Nov 24, 2005
13
2
don't need to patch SystemUI.apk, if you don't change the getHtc_PROJECT_flag() value,the H,G,E icons will show.

have the playstore icon .

Also changed only getHtc_LANGUAGE_flag(). Works fine. Big thanks to Falseclock.

Have not deodexed my rom but used this instruction to deodex needed jar and odex files and then odex them back after modding.
http://xdaforums.com/showthread.php?t=1208320&page=1

link to modded files
http://rghost.ru/43875338
do not know if they work on other devices. Have lates fota update 1.13.1402.12. Do not remove original files, just rename them. If device doesn't boot you can use adb to remove modded file and rename the originals back to their names.
 
Last edited:
  • Like
Reactions: Falseclock

Falseclock

Senior Member
Jun 30, 2012
552
367
Almaty
Falseclock-1.0.0 updater script

Let me introduce my Aroma installer script as I promised before. This patch based on latest CP2DUG 1.13.1402.12 stock ROM.

This is not full stock ROM, this is just patch. You have to official stock ROM already installed.

CHANGELOG
1. Fully deodexed & zipaligned (for future customization)
2. ext.jar, framework2.jar, Settings.apk are patched.
3. All European languages are added. (but not all apks have translations)
4. Boot and shutdown animation and sounds changed to European stock.
5. Google apps are integrated
6. SuperSU is integrated
7. Chinese apks removal option added
8. Additional user apps installation option (SSH Droid, Online Nandroid Backup, RootExplorer, Android Terminal Emulator, Midnight Commander). I need these application for quick rom modification and testing, so if you do not need them - you can easily uncheck during installation.

KNOWING BUGS AND LIMITATIONS
1. During SetupWizard Sina Weibo account will appear on the HTC account setup screen.
2. FOTA updates will brick your phone. Be careful.
3. Icon indicator on the top-left showing current mobile data connection status and APN used - not working

PREREQUISITES
1.13.1402.XX ROM must be installed.
2.CWM recovery

INSTRUCTION
1. Download script and put on your SD card.
2. Reboot to CWM recovery
3. Choose install zip from sdcard
4. Choose choose zip from sdcard
5. Allocate zip file and choose Yes
6. Click ROM Installation
7. Choose Super-Wipe option. This will delete all you data, so suggest you to make backup with Titanium backup before installation.
8. Next steps as your wish
9. Enjoy. First startup will take a while

TODO
1. Add Chinese keyboards deletion
2. Add more Stock applications (Dropbox, Flickr, Twitter, Facebook) for better integration with Friends stream
3. Remove Sina Weibo acount installation option
4. Restore data connection indicator.
5. Add stock HTC appications removal (wallpapres, Car, widgets, etc..)
6. Reodex (optional) rom during installation. (do you need this?)

>>> Download <<<

Donations are welcome :D
 
Last edited:
  • Like
Reactions: cswong

alex_in

Member
Nov 24, 2005
13
2
still nobody tried?


chaning only getHtc_LANGUAGE_flag - will not make Google fully working, need to patch Settings.apk also, otherwise not possible to add new Google account in standard way
Again thanx! Made patched odex. Removed google account that I had created before as it didn't show in gmail app. Then created g account again ( it is allowed right after patching Settings ) and now everything's fine.

Does anybody know if gmail accound should appear in htc mail? Now it shows only Sina, QQ, 163, Other providers.
upd. It should...

http://rghost.net/43885460
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Falseclock-2.1.0 custom rom

    Based on latest OTA 2.13.1402.1

    CHANGELOG
    1. Most of European language added
    2. Google and others are enabled (twitter, facebook ...)
    3. Google Apps added as system applications
    4. Root installed
    5. Busybox installed
    6. Fully deodexed and zipaligned
    7. SIM cards signal strengh changed
    8. Battery percent icons added
    9. SIM cards standby data connection type icons changed
    10. WiFi icons changed.
    11. Fixed location search for Weather and Clock using system locale.
    12. System application HTC One SU Tweaks for mods management
    13. Mod added Automatic call recording
    14. Mod added Preferred data slot
    15. Mod added Rosie landscape
    16. Disabling Quick Settings via tweaker
    17. Fixed font size for Messages
    18. Highlighted phonetical letters on Dialer

    PREREQUISITES
    1.Make a backup of everything before doing anything.
    2.bootloader must be UNLOCKED.
    3.CWM recovery (fastboot flash recovery T528_recovery_PB1_working.img)

    INSTRUCTION
    1. Download script and put on your SD card.
    2. Reboot to CWM recovery
    3. Choose install zip from sdcard
    4. Choose choose zip from sdcard
    5. Allocate zip file and choose Yes
    6. Wait until flashing finished
    7. Power off your device
    8. Boot to fastboot (Vol up + Power)
    9. Download boot.img
    10. Flash manualy new boot: fastboot flash boot boot.img
    11. Reboot and enjoy
    12. to disable power saving icon in tasker
    Code:
    adb shell
    su
    pm disable com.htc.htcpowermanager/.powersaver.PowerSaverNotificationReceiver
    >>> Download custom ROM here <<<

    P.S. This is latest version of my Custom rom. First of all I'm tired. Secondly I do not see that it is necessary for someone. No thanks, no reports, no anything talking some using my job.
    7
    Too bad that you feel like that, man! We rely on your works. Does that mean there's no more patches?

    You know I've been trying to support your efforts but obviously you have decided already.. hope you would change your mind.

    2.2.0 ROM
    boot.img
    2.2.1 UPDATE

    instruction as before, 2.2.1 install over 2.2.0
    based on last ОТА 2.15.1402.

    CHANGELOG
    1. Tweak: disable APN notification
    2. Tweak: disable power saver
    3. Tweak: disable SMS Report notification in status bar if Delivery reports is switched ON. Messages in chat anyway will be marked as Received, but will relieve you of notification in the status and slider bar.

    BE CAREFULL DOWNLOADING, SOME DUDES FOUND VIRUSES INSIDE STOCK ROM
    3
    Modified Boot Image for False Clock 2.2.1 image

    I have modified boot.img for False Clock image 2.2.1.

    I have changed the ramdisk to make adb run as root.
    Changes done are in ramdisk/default.prop

    Code:
    - ro.secure=1
    - ro.allow.mock.location=0
    - ro.debuggable=0
    - persist.service.adb.enable=0
    
    + ro.secure=0
    + ro.allow.mock.location=0
    + ro.debuggable=1
    + persist.sys.usb.config=adb

    with this change you will get "#" instead of "$" in adb shell. ;)

    New boot image is attached.
    3
    By the way, for those interested I may soon release a custom ROM for T528w. :fingers-crossed:
    3
    Sorry, mate! The truth is I've been rather busy lately. It's not that I don't want to share my ROM, the fact is I really use the phone right now and I'm starting to lose my patience regarding the lack of resources for this phone. It's a great phone, I love it, but I did so many factory resets lately, I even lost some data on the SD card.
    I've been trying to backup my ROM using CWM (thanks again VisuM!) and I think I don't know how to make a proper backup or save the entire ROM as .zip and then share it.
    Maybe one of you guys tell me how to do a good backup and then share it on some website, trust me, I'll do it!

    The correct steps to generate a clean rom (you should have sdcard with some free space):

    1- Reboot to recovery and click once the Vol-Up (to access CWM interface).
    2- Go to Backup and Restore from menu.
    3- Click on Backup (this will generate your full original backup).
    4- After it completes, Choose Go Back to main menu.
    5- Click Wipe data/factory reset then Yes.
    6- Click Wipe cache partition then Yes.
    7- Click Backup and Restore
    8- Click on Backup (this will generate the rom you can share).
    9- After it completes, Choose Go Back to main menu.
    10- Go to Backup and Restore
    11- Click on Advanced Restore
    12- Choose the earlier backup (which you generated in step 3) there must be two backups with different time.
    13- Select to restore data then restore cache, you may also want to restore sd-ext if it's available.
    14- Go Back then Reboot the system.

    You will then be back without losing any data. You can also get the rom you generated last from sdcard at /clockworkmod/backup/ just compress that folder and send it to us. Make sure you select the right folder, you should notice the folder's data file is smaller than your original one.

    If you feel confused about these steps or you don't understand them very well please DON'T DO IT until you get the idea how it works.

    ---------- Post added at 04:29 PM ---------- Previous post was at 04:24 PM ----------

    Hello again!
    I also downloaded that ROM and tried to flash it with CWM, but it didn't work, I think there may be something wrong with my phone - still, I'm glad factory reset still works. As for the OTA, I already gave it up.
    As I was saying in a previous post I'm very unhappy about my phone charging so slow, which is starting to make me grow tired of it and think about selling it.
    Anyway, I'm glad to see that you're still on the job, being one of the most active in this thread.

    Nothing wrong with your phone, that ROM doesn't fit the HTC One SU.

    Btw, in regards to your charging problem try the following:

    1- Charge it while it's turned off, and from the power source direct and not from USB and see if there's an improvment.
    2- If not solved, try to Replace the charger (use any other charger like Samsung) and see if it helps.
    3- If not solved, your battery might be the problem especially if it dies quickly, try to replace it if it's not that expensive because it would just be a test.
    4- If none of the above worked, you would need to report your phone for warranty replacement. I guess HTC warranty should cover it internationally.

    Good luck.

    ---------- Post added at 04:43 PM ---------- Previous post was at 04:29 PM ----------

    For those who would change their boot animation, you can do it as below:

    1- Download a boot animation from sources like:
    http://androidbootanimation.com/
    http://rootzwiki.com/forum/239-boot-animations/
    http://xdaforums.com/showthread.php?t=1642888
    or just google it.

    2- Mount your system folder writable (you can use ES File Explorer or Root Explorer for that).

    3- Go to /system/customize/resource using any file explorer

    4- Rename the file CU_bootanimation.zip to CU_bootanimation-bak.zip

    5- Copy your favorite bootanimation to that folder and rename it to CU_bootanimation.zip

    6- Remount your sysem as read-only.

    7- Restart and enjoy.

    * You can do the same for CU_downanimation.zip to change shutdown animation.

    * You can change or disable the boot and shutdown sounds by renaming the files:
    Boot_up_music.mp3
    Shut_down_music.mp3

    in the same folder. (To disable them simply change their names to something else).

    I also tried to change the Initial boot logo (or splash screen) but I guess it requires to have S-off.