[Q] Cant update apps - Legend General

Hello,i have a proble with appbraid update,when i want update from market dosent work,says icant find the element
i revert ad free host file(im s-off)
clean cache market
Install a new rom CM7 #12(the last)
if im log to market and put a app to download everything is find,but if i wanna cancel the download say icant find the element
Im run a logcat and this is the result
i see a permision denied,but ni idea
3D999.1226548029.1296076647.1299184275.1299184773.66%2B__utmz%3D999.1296076647.1.1.utmcsr%3Dandroidmarket%7Cutmccn%3Dsearch%7Cutmcmd%3Ddevice%7Cutmctr%3Dappbrain
W/googleanalytics( 849): Problem with socket or streams.
W/googleanalytics( 849): java.net.SocketException: Permission denied
W/googleanalytics( 849): at org.apache.harmony.luni.platform.OSNetworkSystem.socket(Native Method)
W/googleanalytics( 849): at dalvik.system.BlockGuard$WrappedNetworkSystem.socket(BlockGuard.java:335)
W/googleanalytics( 849): at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:216)
W/googleanalytics( 849): at java.net.Socket.checkOpenAndCreate(Socket.java:802)
W/googleanalytics( 849): at java.net.Socket.connect(Socket.java:948)
W/googleanalytics( 849): at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:119)
W/googleanalytics( 849): at com.google.android.apps.analytics.PipelinedRequester.maybeOpenConnection(Unknown Source)
W/googleanalytics( 849): at com.google.android.apps.analytics.PipelinedRequester.addRequest(Unknown Source)
i dont know what more to do!!!
thank for your atention!!!!

Related

[Q] [Android Wear] Displaying a Google Map on a watch

Hello, i'm trying to display a Google map on my Sony SmartWatch3.
In my wear layout, i'm using a MapFragment with this code :
Code:
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/mapFragment"
class="com.google.android.gms.maps.MapFragment"/>
My wear main activity implements OnMapReadyCallback :
Code:
@Override
public void onMapReady(GoogleMap map) {
SupportMapFragment fragment = ( SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapFragment);
// Getting Google Map
GoogleMap googleMap = fragment.getMap();
Finally, i've got this error :
Code:
02-03 16:44:23.456 2377-2377/com.example.andy.myfirstwearablemapapplication E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.example.andy.myfirstwearablemapapplication, PID: 2377
android.view.InflateException: Binary XML file line #7: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.wearable.view.WatchViewStub.inflate(WatchViewStub.java:179)
at android.support.wearable.view.WatchViewStub.onApplyWindowInsets(WatchViewStub.java:148)
at android.view.View.dispatchApplyWindowInsets(View.java:6514)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5782)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5786)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5786)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchApplyWindowInsets(PhoneWindow.java:2335)
at android.view.ViewRootImpl.dispatchApplyInsets(ViewRootImpl.java:1205)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1423)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.IllegalStateException: Unable to find dynamic class com.google.android.gms.maps.internal.CreatorImpl
at com.google.android.gms.maps.internal.x.a(Unknown Source)
at com.google.android.gms.maps.internal.x.U(Unknown Source)
at com.google.android.gms.maps.internal.x.S(Unknown Source)
at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
at com.google.android.gms.maps.MapFragment$b.nO(Unknown Source)
at com.google.android.gms.maps.MapFragment$b.a(Unknown Source)
at com.google.android.gms.dynamic.a.a(Unknown Source)
at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source)
at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2115)
at android.app.Activity.onCreateView(Activity.java:5282)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at android.support.wearable.view.WatchViewStub.inflate(WatchViewStub.java:179)
at android.support.wearable.view.WatchViewStub.onApplyWindowInsets(WatchViewStub.java:148)
at android.view.View.dispatchApplyWindowInsets(View.java:6514)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5782)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5786)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:5786)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchApplyWindowInsets(PhoneWindow.java:2335)
at android.view.ViewRootImpl.dispatchApplyInsets(ViewRootImpl.java:1205)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1423)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5779)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Is it really possible to display a map on a watch ? If yes, can you tell me how ?
Thanks in advance
I think that the Google Play Services on Android Wear doesn't have the Map API so java.lang.IllegalStateException was thrown. So no, you can't use the Map API directly on Wear devices
Thanks for your answer
saothoi said:
I think that the Google Play Services on Android Wear doesn't have the Map API so java.lang.IllegalStateException was thrown. So no, you can't use the Map API directly on Wear devices
Click to expand...
Click to collapse
Look at this
https://play.google.com/store/apps/details?id=net.dheera.wearmaps&hl=nl_NL
Thanks for your answer. This application uses Google Maps Static API and apparently, the number of recovered images is limited :/
Can't you make an handled app that uses google map, with wear app synchronizing the displayed picture?

Problem trying to get the camera function and selecting a image from gallery to work?

Hi still new to android, tried the following tutorial in the youtube link here https://www.youtube.com/watch?v=4LCnoVqQ6N4 but I couldn't get the app to work as I am unable to execute the camera on my physical phone where it kept giving me this popup "Something went Wrong while taking photos" when I press the camera imageview. And when I am at the gallery choosing a photo it will cause the app to suddenly stop.
Thus, I downloaded the author's source code here https://drive.google.com/file/d/0B2rvGRbu0A83cjBBZElhdGp5OHM/view but i also encounter the same issues stated above.
Tried adding the permission for camera,read,write external storage in the androidmanifest without any luck of solving it.
Error Log after i click on a image in the gallery:
Code:
08-17 12:21:08.181 17286-17286/com.example.user.cameratoserver E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.user.cameratoserver, PID: 17286
java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=400, result=-1, data=Intent { dat=content://com.android.providers.media.documents/document/image:104460 flg=0x1 }} to activity {com.example.user.cameratoserver/com.example.user.cameratoserver.MainActivity}: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=17286, uid=10038 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.app.ActivityThread.deliverResults(ActivityThread.java:3798)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3841)
at android.app.ActivityThread.access$1400(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1440)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:234)
at android.app.ActivityThread.main(ActivityThread.java:5526)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/images/media from pid=17286, uid=10038 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
at android.os.Parcel.readException(Parcel.java:1627)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.query(ContentProviderNative.java:427)
at android.content.ContentResolver.query(ContentResolver.java:497)
at android.content.ContentResolver.query(ContentResolver.java:439)
at com.kosalgeek.android.photoutil.RealPathUtil.getDataColumn(RealPathUtil.java:131)
at com.kosalgeek.android.photoutil.RealPathUtil.getRealPathFromURI_API19(RealPathUtil.java:62)
at com.kosalgeek.android.photoutil.GalleryPhoto.getPath(GalleryPhoto.java:49)
at com.example.user.cameratoserver.MainActivity.onActivityResult(MainActivity.java:100)
at android.app.Activity.dispatchActivityResult(Activity.java:6490)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3794)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3841)
at android.app.ActivityThread.access$1400(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1440)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:234)
at android.app.ActivityThread.main(ActivityThread.java:5526)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
if you are testing on a device running android marshmallow and above you should also write code to request the android.permission.READ_EXTERNAL_STORAGE permission at runtime.
Take a look at the following link for android developers https://developer.android.com/training/permissions/requesting.html
nemoc 23 said:
if you are testing on a device running android marshmallow and above you should also write code to request the android.permission.READ_EXTERNAL_STORAGE permission at runtime.
Take a look at the following link for android developers https://developer.android.com/training/permissions/requesting.html
Click to expand...
Click to collapse
Oh i see but I've read the documentation but still at a lost as to how to implement the codes from the documentation into the source code in the link above, as this is my first android development experience was feeling rather lost.
imso said:
Oh i see but I've read the documentation but still at a lost as to how to implement the codes from the documentation into the source code in the link above, as this is my first android development experience was feeling rather lost.
Click to expand...
Click to collapse
If you are below MM you just need to add the permission to the manifest.
Code:
<manifest>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</manifest>
If you are on MM or higher you need to add the permission the manifest and then ask for it at runtime.
Code:
if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_CONTACTS) != PackageManager.READ_EXTERNAL_STORAGE) {
ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, CALLBACK_ID);
}
You will also need to handle the result of that on your activity:
Code:
@Override public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == CALLBACK_ID) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Granted
} else {
// Not granted
}
}
}

Comparison of English and Chinese AmazFit firmware

Guys, I did a short analysis on the apps in firmwares 1.2.3 and 1.3.0n. The results were pretty surprising:
The Chinese one is more advanced adn much newer (as was already known)
The Watchfaces app contains the SAME drawings in both versions (except the English one having less watchfaces). That means: The Chinese version does have e.g. English weekdays available (stored at the same locations) as the English version has. It probably was just disabled in the code to use the right coding!
One gets the clear indication that they worked on a joint firmware and then at some 70% got the strategic directions to split the firmware.
I am currently doing some tests to modify the apps and load them on the Chinese version. Maybe a Chinese version with English translation is better than the official English version.
Yes, in this moment i think that the china version with hack is better that English version
Wonder if it's worth flashing Chinese ROM to English version and then changing to English?
or, would you expect English version will catch up soon?
I'm disappointed so far with this watch (or rather the very very simple support from the APP on your phone)
You can't even look at the step or sleep data on your phone?!?!?
Nothing wrong with the hardware but it seems they rushed out this awesome device not really thinking about the supplementary app to go with it.
shayne77 said:
Wonder if it's worth flashing Chinese ROM to English version and then changing to English?
or, would you expect English version will catch up soon?
I'm disappointed so far with this watch (or rather the very very simple support from the APP on your phone)
You can't even look at the step or sleep data on your phone?!?!?
Nothing wrong with the hardware but it seems they rushed out this awesome device not really thinking about the supplementary app to go with it.
Click to expand...
Click to collapse
To sync sleep and steps on phone, you need Chinese Amazfit and MiFit apps, login with same Xiaomi account
Inviato dal mio D6633 utilizzando Tapatalk
Pi3rluigi said:
To sync sleep and steps on phone, you need Chinese Amazfit and MiFit apps, login with same Xiaomi account
Inviato dal mio D6633 utilizzando Tapatalk
Click to expand...
Click to collapse
I saw that tutorial on YouTube but I couldn't get MiFit to show data (it seemed to read it, sync ok but not display anything?)
Need help from app developer
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Neuer_User said:
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Click to expand...
Click to collapse
UPDATE:
I can grant the app the WRITE_SECURE_SETTINGS permission, and then it indeed works (command "pm grant <package name> android.permission.WRITE_SECURE_SETTINGS"). The question is now, why do I need to grant that manually, when this is in already in the AndroidManifest.xml???
Is possible change millas to km??? Thanks for you work
sakilxda said:
Is possible change millas to km??? Thanks for you work
Click to expand...
Click to collapse
With this approach, yes. I need to get this running first, though...
Perfect, many people hope this
And do you think is possible put the original Chinesse firmware?
Change the English to Chinese after of Chinese to english
Return to previus version again
I am currently working on a "non-intrusive" custom-rom. That is using the Chinese version on the watch, booting with a special (temporary) boot image and running translated (and modded, if needed) apps. So, a simple reboot, and you would have back the original Chinese version.
I think I can get this running. I exchanged one app with this method, so It could be done with all apps. But I am still having some problems to solve first. And I don't have much time (actually, currently, nearly no time at all ).
Neuer_User said:
I am currently working on a "non-intrusive" custom-rom. That is using the Chinese version on the watch, booting with a special (temporary) boot image and running translated (and modded, if needed) apps. So, a simple reboot, and you would have back the original Chinese version.
I think I can get this running. I exchanged one app with this method, so It could be done with all apps. But I am still having some problems to solve first. And I don't have much time (actually, currently, nearly no time at all ).
Click to expand...
Click to collapse
Really appreciate your work for our watch, I'm willing to help in translating this watch into some language, but I'm not a developer, and it would be nice if we can enable language setting in option for our future custom rom, so we can choose the language we want.
big thanks Neuer!
Neuer_User said:
Ok, I decompiled one of the Huami apps ("WearSports"), changed a small text in the resources ("Trail Run" -> "Berg Run"), compiled the app again (using apktool), signed the apk and exchanged the original apk with the modded one.
The watch starts ok. When swiping left, one gets to the Sports app, which does indeed show "Berg Run" instead of "Trail Run" (hurray). But when I want to enter one of the sports, the app force closes with the following error:
Code:
D/HmSport ( 9704): HmSportProvider -- today distance:0.0
I/slog ( 9704): 已经有文件存在于: /sdcard/.springchannel/com.huami.watch.sport , 旧文件可能被覆盖或删除呢.
E/DatabaseUtils( 9128): Writing exception to parcel
E/DatabaseUtils( 9128): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.checkWritePermissions(SettingsProvider.java:313)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.insertForUser(SettingsProvider.java:1110)
E/DatabaseUtils( 9128): at com.android.providers.settings.SettingsProvider.call(SettingsProvider.java:801)
E/DatabaseUtils( 9128): at android.content.ContentProvider$Transport.call(ContentProvider.java:370)
E/DatabaseUtils( 9128): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:283)
E/DatabaseUtils( 9128): at android.os.Binder.execTransact(Binder.java:446)
E/AndroidRuntime( 9704): FATAL EXCEPTION: global-work-thread
E/AndroidRuntime( 9704): Process: com.huami.watch.sport, PID: 9704
E/AndroidRuntime( 9704): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS
E/AndroidRuntime( 9704): at android.os.Parcel.readException(Parcel.java:1546)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:185)
E/AndroidRuntime( 9704): at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137)
E/AndroidRuntime( 9704): at android.content.ContentProviderProxy.call(ContentProviderNative.java:645)
E/AndroidRuntime( 9704): at android.provider.Settings$NameValueCache.putStringForUser(Settings.java:1094)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putStringForUser(Settings.java:3173)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloatForUser(Settings.java:3459)
E/AndroidRuntime( 9704): at android.provider.Settings$Secure.putFloat(Settings.java:3453)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.DataManager.setTodayDistance(DataManager.java:370)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.updateTodayDistance(SportContentProvider.java:95)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider.access$000(SportContentProvider.java:24)
E/AndroidRuntime( 9704): at com.huami.watch.sport.db.SportContentProvider$1.run(SportContentProvider.java:57)
E/AndroidRuntime( 9704): at android.os.Handler.handleCallback(Handler.java:739)
E/AndroidRuntime( 9704): at android.os.Handler.dispatchMessage(Handler.java:95)
E/AndroidRuntime( 9704): at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 9704): at android.os.HandlerThread.run(HandlerThread.java:61)
The mentioned permission is in the AndroidManifest.xml (as it was decompiled from the original app).
I need help from an experienced developer. If we could get this fixed, we can setup our own custom ROM, based on the most current Chinese version, including all English translations and what else we want to.
Click to expand...
Click to collapse
So, I now got the the cause of the problem:
Code:
W/PackageManager( 432): System package com.huami.watch.sport signature changed; retaining data.
W/PackageManager( 432): Package com.huami.watch.sport desires unavailable shared library com.google.android.wearable; ignoring!
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.READ_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.WRITE_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.CHANGE_CONFIGURATION to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.DEVICE_POWER to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Not granting permission com.huami.watch.permission.READ_USER_SETTINGS to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.READ_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Unknown permission com.huami.watch.companion.permission.WRITE_SETTINGS in package com.huami.watch.sport
W/PackageManager( 432): Not granting permission android.permission.WRITE_SECURE_SETTINGS to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.CHANGE_CONFIGURATION to package com.huami.watch.sport (protectionLevel=50 flags=0x8be45)
W/PackageManager( 432): Not granting permission android.permission.DEVICE_POWER to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
W/PackageManager( 432): Not granting permission com.huami.watch.permission.READ_USER_SETTINGS to package com.huami.watch.sport (protectionLevel=2 flags=0x8be45)
So, that is why the application is force closing, ok. Now the question is, how to solve this. I would like to have an experienced ROM developer help me here.
OK, if someone is interested: I now understand why the permissions are not granted. It is the signature of the apk (which I needed to resign). For some permissions this signature must be identical with the signature of the platform. This key only Huami has.
So, what can be done? I am currently thinking of patching the PackageManager, so that it will not deny the permission. Not sure, if this is possible, but I will try.
Neuer_User said:
OK, if someone is interested: I now understand why the permissions are not granted. It is the signature of the apk (which I needed to resign). For some permissions this signature must be identical with the signature of the platform. This key only Huami has.
So, what can be done? I am currently thinking of patching the PackageManager, so that it will not deny the permission. Not sure, if this is possible, but I will try.
Click to expand...
Click to collapse
I can't help you to develop, I have no knowledge, but I can be a tester when ready!
Inviato dal mio D6633 utilizzando Tapatalk
Pi3rluigi said:
I can't help you to develop, I have no knowledge, but I can be a tester when ready!
Inviato dal mio D6633 utilizzando Tapatalk
Click to expand...
Click to collapse
Thanks for the offer. Main work currently is getting the knowledge on howto deodex files, mod them, re-odex them. Then I can try to exchange the Package Manager on my watch. All of this is only temporary, so even if nothing will work afterwards, a simple reboot will fix it.
Some more info, on how my planned "non-intrusive" changes will work:
- The watch will need to be booted via a fastboot command. That loads a customized boot image. The boot image will mount all filesystems and then start the processes.
- However, after all filesystems have been mounted, it will mount the custom rom over the system partition. So, instead of using the system image, the watch will use the custom ROM.
- The custom ROM will reside as one single file on the /sdcard. So there are no modifications to the system partition (and neither to the boot partition).
- After a reboot, the normal boot image is booted again, which will also not mount the custom ROM.
- If you reboot via fastboot, the modded boot.img can be booted, which will mount the custom ROM again.
The nice thing with this is, that all modifications are temporary. If something is borked up, the device cannot boot or goes into a boot loop, it doesn't matter. You simply turn the watch off and on again, and everything is back to unmodified.
So far, this seems to be working. I now need to get a working custom ROM. That is, I need to understand how to modify the apps, so deodexing, decompiling, recompiling, signing, etc.
I will probably open an open source GitHub project, as soon as I have something usable. Then people can contribute translating and modding.
Neuer_User said:
Some more info, on how my planned "non-intrusive" changes will work:
So far, this seems to be working. I now need to get a working custom ROM. That is, I need to understand how to modify the apps, so deodexing, decompiling, recompiling, signing, etc.
Click to expand...
Click to collapse
Hi!
I've just translated chinese fw to russian and switched watch to kilometers everywhere and resolve some interface bugs. )) It was easy and i can give some advices if you need.
silver-alx said:
Hi!
I've just translated chinese fw to russian and switched watch to kilometers everywhere and resolve some interface bugs. )) It was easy and i can give some advices if you need.
Click to expand...
Click to collapse
If you could describe, how you did it, that would be very helpful. Maybe even upload your original and modified firmware, so we can take a look at the differences?
Thanks!

Tethering problem

Hello.My hotspot tethering wasnt working.so I made a f.reset voth from my pc and then from my mobile.But issue persists!I have scoop xposed module and it catched this log on force close.I hope for help!thanks.
android.content.res.Resources$NotFoundException: Resource ID #0x0
at android.content.res.Resources.getValue(Resources.java:1351)
at android.content.res.Resources.getColor(Resources.java:963)
at android.content.Context.getColor(Context.java:441)
at com.android.settings.HelpUtils.addIntentParameters(HelpUtils.java:170)
at com.android.settings.HelpUtils.getHelpIntent(HelpUtils.java:137)
at com.android.settings.HelpUtils.prepareHelpMenuItem(HelpUtils.java:104)
at com.android.settings.HelpUtils.prepareHelpMenuItem(HelpUtils.java:74)
at com.android.settings.SettingsPreferenceFragment.onCreateOptionsMenu(SettingsPreferenceFragment.java:297)
at android.app.Fragment.performCreateOptionsMenu(Fragment.java:2300)
at android.app.FragmentManagerImpl.dispatchCreateOptionsMenu(FragmentManager.java:2029)
at android.app.FragmentController.dispatchCreateOptionsMenu(FragmentController.java:265)
at android.app.Activity.onCreatePanelMenu(Activity.java:2857)
at com.android.internal.policy.PhoneWindow.preparePanel(PhoneWindow.java:567)
at com.android.internal.policy.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.java:939)
at com.android.internal.policy.PhoneWindow$1.run(PhoneWindow.java:271)
at android.os.Handler.handleCallback(Handler.java:746)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:102)

Playstore crashing after kernel flash

Ok, I flashed a custom kernel on my note 7 ( overlord kernel ) and now play store won't open. I've tried everything, even installing play services and framework again... Nothing worked. Any suggestions would be greatly appreciated.
I've included the crash log
time: 1586979547724
msg: java.lang.ClassCastException: android.graphics.drawable.AnimatedVectorDrawable cannot be cast to android.graphics.drawable.VectorDrawable
stacktrace: android.content.res.Resources$NotFoundException: Drawable com.android.vending.dArc.Android_10_Q:drawable/ic_books_filled_anim with resource ID #0x7f0801be
Caused by: android.content.res.Resources$NotFoundException: File res/drawable-v21/ic_books_filled_anim.xml from drawable resource ID #0x7f0801be
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:888)
at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:671)
at android.content.res.Resources.getDrawableForDensity(Resources.java:906)
at android.content.res.Resources.getDrawable(Resources.java:845)
at jq.a(PG:44)
at arl.a(PG:1)
at gls.b(PG:2)
at gls.a(PG:12)
at glm.b(PG:2)
at tkg.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at kfu.run(PG:4)
at java.lang.Thread.run(Thread.java:919)
Caused by: java.lang.ClassCastException: android.graphics.drawable.AnimatedVectorDrawable cannot be cast to android.graphics.drawable.VectorDrawable
at android.graphics.drawable.AnimatedVectorDrawable.inflate(AnimatedVectorDrawable.java:550)
at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:144)
at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1402)
at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1361)
at android.content.res.ResourcesImpl.loadXmlDrawable(ResourcesImpl.java:951)
at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:874)
... 13 more

Categories

Resources