HAI GUYS I HAVE TRIED SOME POP UP CODES AND THEY WORK VERY WELL ,UNTILL I WAS SHOCKED TO SEE A CODE THAT IS NOT VISIBLE LIKE THE CODES I USED BEFORE
OLD CODE I USED TO
const/4 v0, 0x1
const-string v1, "YOUR MESSAGE"
invoke-static {p0, v1, v0}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
move-result-object v0
invoke-virtual {v0}, Landroid/widget/Toast;->show()V
#OTHER CODE THAT YOU MAY NOT TOUCH IT
THIS CODE CAN BE SEEN WITH NOTE EDITOR,
BUT THE APP I WAS DEALING NOW WAS NOT SAME
AS SHOWN IN THE PIC THAT POP UP MESSAGE WAS NOT FOUND , I HAVE SEARCHED EACH AND EVERY FOLDER AND FILE IN SMALI
PLEASE HELP ME WHERE I CAN FIND THAT POP UP CODE AND EDIT IT
Related
Hey everyone, I just posted this in the Vibrant forums, but its universal, anyone on Android that hates the carrier tab in the market, here's a solution!
Ok, so while I was re-theming the newest market update for myself, I was finally annoyed enough with the carrier tab/channel in the android market to find a way to disable it entirely.
Simple, SIMPLE change takes care of it.
Decompile Vending.apk, and open /com/smali/android/vending/AssetBrowserActivity.smali
look for the following line:
Code:
invoke-virtual {v5}, Lcom/android/vending/model/GetCarrierInfoResponse;->isCarrierChannelEnabled()Z
a couple of lines beneath that, comment out the following two lines:
Code:
if-eqz v5, :cond_4
if-eqz v2, :cond_4
And then immediately after you've commented those out, add the following:
Code:
goto :cond_4
So the final code in my Vending.apk looks like this:
Code:
invoke-virtual {v5}, Lcom/android/vending/model/GetCarrierInfoResponse;->isCarrierChannelEnabled()Z
move-result v5
# if-eqz v5, :cond_4
# if-eqz v2, :cond_4
goto :cond_4
And voila, no Carrier tab/channel anymore!
PLEASE NOTE! This will remove the carrier tab entirely, there is no way to browse the carrier channel using this method.
Anyway, hopes this helps someone else too.
Cheers everyone, =)
It seems to be a reoccurring problem across many roms, even some stock, that incoming calls without prefix (+47 etc) does not do lookup (and match) to contact stored with prefixes. Now there is an app called Prefixer wich can do alot with the subject, but it seems no app can actually manipulate the incoming call ID. Thus, after alot of ravaging through here and other forums, I've been led to the conclusion that this is bad/wrong values in the following file:
Framework.jar->classes/android/telephony/PhoneNumberUtils.smali
Now the values I was told to look for was :
Code:
.local v7, minMatchLen:I
const/4 v7, 0xb
.local v0, minMatchLen:I
const/4 v0, 0xb
And change the minMatchLen:I vaules to:
Code:
.local v7, minMatchLen:I
const/4 v7, 0x7
.local v0, minMatchLen:I
const/4 v0, 0x7
Now - When I extracted the PhoneNumberUtils.mali from my current rom (Gthrill V3 (CM10 mod), The corresponding values were:
Code:
.local v7, minMatchLen:I
const/16 v7, 0xb
.local v0, minMatchLen:I
const/16 v0, 0xb
What I'm really wondering here is - can someone elaborate what these lines define - and what the practical difference between "const/4" and "const/16" acually is?
const/16 allows for a bigger value than const/4
It's safe to lower it from 0xb (11) to 0x7 (7) and leave the const/16 alone.
If you have a const/4 and wanted to apply a larger value, chances are a smali compile will fail without changing the const/4 to const/16.
Thanks - cleared up alot Luckily I was "already at 16". And, it might explain why I got stuck in boot loop when I tried to change the values to const/4 v0, 0x7 ...(?)
Deleted.
So, I have a Nexus Player, and I absolutely LOVE the way the UI for Plex looks on it. It has a number of added categories and features, and overall, it's just really pretty, and highly preferable to the regular "TV" option in the Plex app.
Unfortunately, the good folks at Plex decided to reserve this only for Android TV...which sucks. I just bought a RikoMagic V5 Rk3288-based Android on a stick to replace my aging RK2066 device, and when it arrives, I'd like the same sexy experience as I have on the Nexus player.
I can already install the leanback launcher...so why not get the plex UI to go with it?
So that's what I did.
EDIT: LOL. So, instead of modifying the APK, it looks like we can just add the permission file it's checking for to /system/etc/permissions/ I've attached it...simply download, extract, copy to /system/etc/permissions, and reboot. Presto! Pretty plex.
I'll leave the other method simply because it's good to know how to do, and can be applicable to many other situations.
HOWEVER, there's an obvious problem. You either have to have purchased the app, or have a Plex Pass to use it. I have not explored the paid version of the app yet, just the Plex Pass one...but that will be done shortly. First I wanted to share my discovery.
Basically, the check for whether or not the device is an Android TV lives in \smali\com\plexapp\plex\application\PlexApplication.smali when you decompile the APK.
In this method:
Code:
.method public B()Z
.locals 2
invoke-virtual {p0}, Lcom/plexapp/plex/application/PlexApplication;->a()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/plexapp/plex/application/PlexApplication;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const-string v1, "android.software.leanback"
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_1
:cond_0
const/4 v0, 0x0
:goto_0
return v0
:cond_1
const/4 v0, 0x1
goto :goto_0
.end method
Here, the code is obfuscated, but the original method is called isAndroidTV. Either way, searching for "android.software.leanback" should get you into the method.
Now, all this is really doing is asking the system if it has the flag "android.software.leanback", so we could probably modify build.prop? to have that flag and be right with the world. But, I haven't tried that yet.
Instead, if we read through what the method is doing, we can see that if it finds "android.software.leanback", it goes to condit_1, which sets const v0 to 0x1, or a "yes" return. So, what if it fails? It runs to cond_0, which instead sets const_v0 to 0x0, or "no".
So, the obvious fix to this is to just make cond_0 return 0x1, or the following code:
Code:
.method public B()Z
.locals 2
invoke-virtual {p0}, Lcom/plexapp/plex/application/PlexApplication;->a()Z
move-result v0
if-eqz v0, :cond_0
invoke-virtual {p0}, Lcom/plexapp/plex/application/PlexApplication;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
const-string v1, "android.software.leanback"
invoke-virtual {v0, v1}, Landroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_1
[B][U] :cond_0
const/4 v0, 0x1
[/U][/B]
:goto_0
return v0
:cond_1
const/4 v0, 0x1
goto :goto_0
.end method
That's it. Just flip the 0x0 to a 0x1 and recompile the apk. Due to it being a Play Store app, it's also necessary to resign with a test key so we can install it.
Here is a link to the final output that I was able to install on my 5.0.1 (lollipop) GPE ROM running on a HTC M8. At this time, I'm unsure whether it will A. Work on a non-lollipop ROM or B. Work on a ROM that doesn't allow test-key signed apps.
However, it is a working proof of concept, and could prove useful to others who use android devices as media center devices.
Also, attached is a screenshot of the POC, albeit looking poor on my phone.
Feel free to try the attached APK and let me know how it works for you. Mods - this is the free Plex Pass version - aside from changing the above .smali, I have not modified or circumvented any other security features (like making it work for everybody). You must have a Plex Pass account to use this.
Post2: Compatibility testing, screenshots.
So, I was able to successfully install the apk on a stock, unrooted Galaxy Tab 4 running android 4.4.2, so it looks like this should work for a lot of people. Screenshots attached. It looks beautiful on a tablet, and despite being made for TV, all touch input works properly.
digitalhigh said:
Post2: Compatibility testing, screenshots.
So, I was able to successfully install the apk on a stock, unrooted Galaxy Tab 4 running android 4.4.2, so it looks like this should work for a lot of people. Screenshots attached. It looks beautiful on a tablet, and despite being made for TV, all touch input works properly.
Click to expand...
Click to collapse
can you mod the non-plexpass version of plex to do this?
defconoi said:
can you mod the non-plexpass version of plex to do this?
Click to expand...
Click to collapse
Unfortunately, it doesn't look like they've pushed that UI to the non-pass version. More than likely, they'll roll it out to all users in the next update or the one after that - at least - that's how Plex usually does things.
When that happens, I'll *still* not be able to release it, as it's a paid version of the app. However, it's possible I could provide a tool to do all the work for people who do have it.
Digitalhigh,
I cannot thank you enough! love your work.
Rob.
I tried it on my xiaomi mibox mini which is running Android 4.4.2. The app starts in leanback mode and I can browse the contents but can't play anything
Sent from my MI NOTE LTE using Tapatalk
Good to start,
I was wondering if this really is a link,
.line 67
const-string v0, "38C374C82D425E56"
because without 38C374C82D425E56 the app does not show anything, but with him, when you open the app, open a website.
the code is as follows:
sput-object v0,Lcom/calc/calclibrary/EmbeddedValues;->PROPAGATION_CHANNEL_ID:Ljava/lang/String;
.line 67
const-string v0, "38C374C82D425E56"
and because it will exactly for a specific link?
Hello everyone!
First of all, thank you for the work put in this site. Been using it for months and you're just great.
Phone info:
I'm from Argentina, under PERSONAL carrier.
Device Moto G 2013 XT1032, Lollipop 5.1.1, Kernel 3.4.109-AOSP (alberto97's) Unlocked Bootloader, Rooted, Using TWRP 3.0.2-0, Xposed v.86, SuperSU v2.76.
One week ago I flashed "XT1032_Retail_US_51_Optimized_v1.0 5.1" over my Personal Argentina Retail stock 5.1 rom (it came with the phone), installed "AOSP-5.1.1-20150923-falcon-alberto97", Gapps Pico, and so on.
Now my incoming calls are not being recognized as contacts. Here in Buenos Aires, Argentina, the complete "international" number with area code and prefix (for mobile phones) is +54 9 11 X XXX XXXX. "54" Country, "9" Mobile, "11" Buenos Aires". Whatsapp gets and show numbers in that International format. Incoming calls and SMS arrive without the "9" for example "+54 11 X XXX XXXX" and my phone always recognized the contact. (It even recognized incoming calls and SMS If the number was stored like 11 X XXX XXXX, 0 11 15 X XXX XXXX, 11 15 X XXX XXXX (15 is mobile phone locally, but from mobile to mobile it's not required) and with one or two different formats.
The point is, after flashing 5.1 Retail US and 5.1.1 AOSP, the contacts are not recognized if they have the "9", (the way it shows on Incoming Calls and SMS) (but then, If i edit the contact number, Whatsapp doesn't recognize it for lacking that "9"). I refuse to have two different numbers for each contact, with and without the "9".
What I would like is the phone to recognize incoming calls WITHOUT the "9", when the contact is stored WITH that "9" between Area Code and the rest of the numbers. Or change the incoming calls format so it "reads" or "adds" the "9" between +54 and 11.
- I searched and searched for info and solutions but wasn't able to fix it.
- I deleted all my contacts, changed in default country code on Google Contacts, went back to Argentina and re-synced with phone, no luck.
- I tried editing ro.phone.min_match on build.prop to 7,8,9,10,11, (with and without deleting from phone and re-syncing contacts from google) no luck.
- I tried with Prefix app on Google Play, no luck.
-I tried understanding classes and searched Android Developers pages to see if I could get it working but my knowledge doesn't go that far (at least regarding Android).
- I opened "PhoneNumberUtils.smali" but didn't find this code to edit:
Code:
.local v7, minMatchLen:I
const/4 v7, 0xb
.local v0, minMatchLen:I
const/4 v0, 0xb
Some said to change that "b" value to "7" or another number, depending on my country number format. Nevertheless, isn't this the same as establishing a min match on build.prop?
So, I'm running out of imagination. I always try to find the answer/fix to avoid posting about issues but this is getting a bit hard.
TO-DO: I downloaded a 5.1 retail Argentina Personal stock rom. I will try to look for the "PhoneNumberUtils.smali" file and use it to replace the one on my phone to see if it works.
EDIT1:
I managed to get "PhoneNumberUtils.smali" from stock Personal Argentina retail 5.1 rom but the code I'm looking for isn't there neither.
EDIT2:
Found ".field static final MIN_MATCH:I = 0x7" at the beginning, was set to 0x7.
Found this code:
Code:
.method public static toCallerIDMinMatch(Ljava/lang/String;)Ljava/lang/String;
.registers 5 [B](Note by me: What's this number?)[/B]
.param p0, "phoneNumber" # Ljava/lang/String;
.prologue
.line 788
invoke-static {p0}, Landroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
.line 792
.local v2, "np":Ljava/lang/String;
const-string v3, "gsm.sim.min.match"
invoke-static {v3}, Landroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 793
.local v1, "minMatchProp":Ljava/lang/String;
invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_19
.line 794
invoke-static {v1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
.line 799
.local v0, "minMatch":I
:goto_14
invoke-static {v2, v0}, Landroid/telephony/PhoneNumberUtils;->internalGetStrippedReversed(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v3
return-object v3
[B]
.line 796
.end local v0 # "minMatch":I
:cond_19
const/4 v0, 0x7[/B]
.restart local v0 # "minMatch":I
goto :goto_14
.end method
Apparently it's set to 0x7, so it should compare the last 7 digits, so theoretically it should be detecting the numbers as contacts, but it doesn't :/ .
Sorry for the long post. I tried to be as specific as possible but incorporating everything that I thought it would help.
Thanks again!!!