Hi all! The Amazfit Bip is an amazing device with great hardware and battery life that would even put a Pebble to shame. However, due to its limited software, it has a lot of unrealized potential and this thread aims to provide some workarounds for the power users of XDA to make this amazing smartwatch more functional.
I will taking requests for additional tutorials so do please feel free to comment!
Note: Most of the guides here require the use of 2 paid apps, 'Tasker' and 'Tools & Amazfit'. Both are awesome apps (esp Tasker) and they do not cost much to download
Tasker: https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=en
Tools & Amazfit: https://play.google.com/store/apps/details?id=cz.zdenekhorak.amazfittools&hl=en
With this, we can start now!
1. Custom watch face tutorial
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(Yes I am a big fan of Pebble's sliding text watch face, you can download this watchface here.)
This tutorial does not require the use of either Tasker or Tools & Amazfit and thus can be done for free.
1. In order to start to create a custom watch face, first you need a watch face template.
2. Connect your BIP to your android phone via MiFit app.
3. Open MiFit, goto Profile->Amazfit Bip->Watch face settings
4. Click on the ugliest watch face (in your opinion, i used the 'Number'' watch face and press 'Sync watch face'
5. Watch face should be synced to your BIP and downloaded to your phone.
6. Connect your Android phone to your PC and navigate to 'Android/data/com.xiaomi.hm.health/files/watch_skin' and transfer the .bin file to your working directory on your PC.
(For my case, the .bin file is named '9098940e097cf25a971fc917630a6ac2.bin'. That is the name of the 'Number' watch face. Your .bin file may have a different name and that is ok)
7. Download Amazfit Tools to your PC from this link: https://bitbucket.org/valeronm/amazfitbiptools/downloads/
8. Extract the downloaded file to a folder and then drag and drop the transferred .bin file on 'WatchFace.exe' A cmd window should appear and disappear in a flash.
9. A folder with the name of your .bin file should now appear in folder where your .bin file is stored. (In my case, the folder is named '9098940e097cf25a971fc917630a6ac2')
10. Open the folder that appeared and inside you can see the components of a BIP watch face
11. In the folder, have 2 main file types, .png and .json (Delete the .log file and the 2 preview files)
12. The .png files are resources for the watch face (such as backgrounds, numbers etc) while the .json file contains code for the picture placements and watch face functions.
13. Now, you can either make small edits to the preexisting .png files with a photo editor (paint/gimp/photoshop) and then recompile to a .bin file
or
14. You can replace all the .png files with your own images
(I will be going through this option more, people choosing the small edits path, after editing the resources, you can skip to recompiling the .bin, which is step 28)
15. If you choose to replace all the .png files with your own images, start creating your .png files now. Below are the requirements for the .png files
The screen size of the BIP is 176x176px, so do size your images accordingly
Must have at least 11 images, with 000.png being the background and 001.png being number 0, 002.png being number 1, so on till 010.png being number 9.
If you want to have a separate of images for minutes and hours it is possible. Your next set of images should start with 011.png being number 0.
16. Follow all the requirements and your folder will end up looking like this:
17. It is possible to edit the .json by hand but it is easier to do so with a GUI tool.
18. Go to https://v1ack.github.io/watchfaceEditor/ and upload all your custom images and the .json file respectively.
19. You may get a few error messages but just ignore them.
20. Go to the edit tab and replace the contents inside with this:
Code:
{
"Background": {
"Image": {
"X": 0,
"Y": 0,
"ImageIndex": 0
}
},
"Time": {
"Hours": {
"Tens": {
"X": 7,
"Y": 9,
"ImageIndex": 1,
"ImagesCount": 10
},
"Ones": {
"X": 36,
"Y": 9,
"ImageIndex": 1,
"ImagesCount": 10
}
},
"Minutes": {
"Tens": {
"X": 81,
"Y": 9,
"ImageIndex": 1,
"ImagesCount": 10
},
"Ones": {
"X": 110,
"Y": 9,
"ImageIndex": 1,
"ImagesCount": 10
}
}
}
}
21. This is the most basic .json watch face code, giving you only the time in hours and minutes. The code explanation is below:
Code:
{
"Background": {
"Image": {
"X": 0,
"Y": 0,
"ImageIndex": 0 \\ use 000.png
}
},
"Time": {
"Hours": {
"Tens": {
"X": 7, // position on the XY axis
"Y": 9,
//To use image 001.png to image 010.png, use ImageIndex 1,
// to use image 011.png to image 020.png, use ImageIndex 2 and so on
"ImageIndex": 1,
"ImagesCount": 10 // will go from image 001.png to image 010.png
},
"Ones": {
"X": 36, // position on the XY axis
"Y": 9,
//To use image 001.png to image 010.png, use ImageIndex 1,
// to use image 011.png to image 020.png, use ImageIndex 2 and so on
"ImageIndex": 1,
"ImagesCount": 10 // will go from image 001.png to image 010.png
}
},
"Minutes": {
"Tens": {
"X": 81, // position on the XY axis
"Y": 9,
//To use image 001.png to image 010.png, use ImageIndex 1,
// to use image 011.png to image 020.png, use ImageIndex 2 and so on
"ImageIndex": 1,
"ImagesCount": 10 // will go from image 001.png to image 010.png
},
"Ones": {
"X": 110, // position on the XY axis
"Y": 9,
//To use image 001.png to image 010.png, use ImageIndex 1,
// to use image 011.png to image 020.png, use ImageIndex 2 and so on
"ImageIndex": 1,
"ImagesCount": 10 // will go from image 001.png to image 010.png
}
}
}
}
22. In the edit tab, there are a few options for you to play around in the sidebar. Do experiment and play around!
22. You can go to the design tab and start moving the numbers according to your own needs.
23. There are many more watch face functions supported by the BIP and I recommend visiting this site. (Google translated) to learn more about them. The site is an amazing site with numerous watch face related tutorials but it is all in Spanish
24. When satisfied with your watch face, press export JSON and download the .json file to your decompiled .bin file folder. Replace the existing .json file. (For me, the folder is the '9098940e097cf25a971fc917630a6ac2' folder)
25. Download this zip file: https://github.com/v1ack/watchfaceEditor/raw/master/defaultimages/defaultimages.zip
26. Extract all the files in the downloaded file into your decompiled .bin file folder. These images are the ones used by the online watch face editor when you add functions such as date display, weather, steps etc etc
27. Your decompiled .bin folder should look like this now:
28. Drag and drop the .json file onto 'WatchFace.exe', '9098940e097cf25a971fc917630a6ac2_packed.bin' should appear in the folder (your file name should be different) alongside a few previews of your watch face.
29. Rename your packed .bin file by removing the '_packed.bin'. (In my case, my file is renamed from 9098940e097cf25a971fc917630a6ac2_packed.bin to 9098940e097cf25a971fc917630a6ac2.bin )
30. Transfer the newly created .bin file to your Android phone, into this folder: 'Android/data/com.xiaomi.hm.health/files/watch_skin' . Replace the old watch face .bin.
31. Open MiFit app and sync the watch face you synced at step 4 onto your BIP
32. Viola! You got a new custom watch face.
33. If you get any errors at step 28 (recompiling), check if you all all the images you referenced to in your .json in the folder. Also, go back to the watch editor website and check your .json file for any errors. You can comment below if you have anything that you are unsure of or need more clarifications.
2. Tasker Integration
Tasker is a very powerful Android app and if integrated with the Amazfit BIP, the amount of things that can be done with the BIP is ENDLESS!
The video below shows how I use my BIP as a TV remote control
Two clicks of the BIP's button turned off the television.
To learn more about Tasker Integration with the BIP, then expand content:
To get Tasker integration for the BIP, you need to download both Tasker and Tools & Amazfit to your Android.
Both are paid apps!!!
This tutorial assumes the knowledge of variables and flow control in Tasker.
If you have never used Tasker before, I recommend you start learning by following some of the tasks listed here. I believe that the best way to learn is a hands on approach and thus after completing a few of the Beginner tasks, move on to the Intermediate tasks and you should be well-versed enough in Tasker for the purposes of this tutorial.
Before starting this tutorial, make sure your BIP is connected to both MiFit and Tools & Amazfit apps.
1. The Tools & Amazfit app has both Tasker Event plugins and Action plugins.
2. Event plugins will trigger an action in Tasker. (e.g. button is pressed or heart rate is measured)
3. These plugins also provides variables to Tasker (e.g. the event plugin will tell you how many times the button on Amazfit was pressed).
4. Action plugins let Tasker do something on the BIP. (e.g. you can send custom vibration to your BIP or you can change heart rate monitoring mode, vibration notification mode, etc.)
5. These plugins can provide variables to Amazfit Tools (e.g. you can pass your own custom text you want to display on the BIP).
Events:
To setup event plugin in Tasker, on Profiles screen tap + and select Event - Plugin - Amazfit Tools. Then simply tap configure and choose event you want to be notified about in Tasker.
1. Tools & Amazfit supports 3 tasker events (as of 9th Feb 2018) as shown on the bottom right image above.
2. Each of these events has variables for finer even controls. The %button_pressed and %heart_rate variable supports numbers from 1 to infinity while the %charging_state variable supports 0 and 1, 0 for not charging and 1 for charging.
Actions:
To setup action plugin in Tasker, on Tasks screen, create new task, then tap + and select Plugin - Amazfit Tools. Then simply tap configure and choose action you want to perform in Amazfit Tools.
1. Tools & Amazfit supports 5 tasker actions (as of 9th Feb 2018) as shown on the right-side image above
2. These actions are self-explanatory.
Project:
Using both Tools & Amazfit events and actions, now we can create a Tasker profile to turn off the TV!
1. The Event tab and Task:
2. The event is quite straightforward, it just tells Tasker to look out when the button on the BIP is pressed
3. Task explanation:
Line 1: If the variable %button_count equals to 2 (i.e. if the BIP's button was pressed twice), run lines 2 to 6. If not equals to 2, do nothing.
Line 2: Run the command 'input keyevent 26'. This command simulates a power button press (requires root) and thus wakes the screen.
Line 3: Launch my remote control app.
Line 4: Run the command 'input tap 225 270'. This command simulates a screen touch event at pixel X: 225 Y: 270, which is the location of the power button of my remote control app. (Requires root)
Line 5: Simulates power button press to lock phone again.
Line 6: Sends the notification 'TV TURNED OFF' to the BIP.
End product, after pressing the BIP's button twice, the phone screen turns on, opens the remote control app, taps on the power button and locks screen again.
I understand that turning on the screen of your phone and simulating a tap may not be the most efficient way to code a Tasker profile, however, this is the only remote control app that works for my TV and it does not have Tasker integration and so I have to resort to such means. There are other remote control apps that includes Tasker integration and these apps can even control a smart home, thus allowing your BIP to control everything from light switches to smart TVs. Whatever Tasker can do, your BIP will be able to do the same and thus the possibilities are endless and so have fun!
3. Music Controls
When I bought the BIP, I was disappointed that it had no built-in music control functions as that was one of the main uses of my Pebble watch. Below, I will be teaching you all how to control music with the BIP.
To allow music control with your BIP, you need to download Tools & Amazfit to your Android.
This is a paid app!!!
Make sure that your BIP is connected to both MiFit and the Tools & Amazfit app before starting on this tutorial.
The Tools & Amazfit app allows you to use the BIP's button presses and sensors to control your phone's function.
Refer to the app developer's website for a tutorial on how to use the button control function of the app: http://help.amazfittools.com/knowledge_base/topics/button-control-amazfit
Due to the BIP having only 1 button, it may be cumbersome to launch any task when there are already too many preset tasks (i.e. it is not convenient to press a button 10 times just to pause music) Thus, the app developers included the ability to have different button profiles. Find out more here: http://help.amazfittools.com/knowledge_base/topics/button-control-switch-profile-amazfit
4. Picking Up Calls
The BIP has the ability to end calls but is unable to pickup calls. In this tutorial, we will be learning 2 ways to pickup calls with the BIP.
The first method requires you to download Tools & Amazfit to your Android.
The second method requires you to download both Tasker and Tools & Amazfit to your Android and it also needs root access on your Android.
Both are paid apps!!!
Method 1:
1. Tools & Amazfit app supports picking up of incoming calls.
2. Make sure that your BIP is both connected to MiFit and Tools & Amazfit app before continuing.
3. Open Tools & Amazfit app, open sidebar (swipe from left) and press contacts.
4. Press the plus button and choose 'Any Other'.
5. Tap on the Any Other option that now appears at the contacts screen and tap on 'Amazfit Button Actions'.
6. Set 'Push Button' to 'Answer'
7. In the meantime, you can also customize the incoming call notifications using the Tools & Amazfit app. Have fun!
8. However, this method does not work on recent versions on Android and thus I will be introducing the 2nd way below.
Method 2:
Video tutorial:
1. Make sure that your BIP is both connected to MiFit and Tools & Amazfit app before continuing. This method also requires Tasker and root.
2. Create new Tasker task called 'Pickup'
3. Add an action and tap Code->Run Shell.
4. Type 'service call phone 6' in the command box and check 'Use Root'
5. Press back, add task, tap on Task->Stop and type 'Pickup' in the box.
6. Create a new profile, tap on State->Phone->Call and choose incoming.
7. Add 'Pickup' as the task to the profile.
8. Add an Event to that profile. In the Event Category window, tap on Plugin->Amazfit Tools and configure as Button Pressed.
9. Now when there is an incoming call and you press the BIP's button, you will be able to pickup the call!
5. Coming soon: Google Maps Navigation
"Coming soon: Google Maps Navigation"
I'll be looking forward to this.
Great work thanks! Ordered today and looking forward to playing with this watch. Life after pebble!!
Wow, thank you. Great guide!
Making music control with tasker is good idea but I need to see song name on Bip's screen. And play/pause, next song, previous song buttons will be enough for me. I hope Amazfit Bip developers add music control feature as soon as posible.
Superb - thank you! Does the Tools & Amazfit app add Strava sync compatibility?
Deleted
JamesRC said:
Superb - thank you! Does the Tools & Amazfit app add Strava sync compatibility?
Click to expand...
Click to collapse
No it does not, sorry
Kefelon said:
Wow, thank you. Great guide!
Making music control with tasker is good idea but I need to see song name on Bip's screen. And play/pause, next song, previous song buttons will be enough for me. I hope Amazfit Bip developers add music control feature as soon as posible.
Click to expand...
Click to collapse
It is possible to create a notification on the watch whenever the song changes!
nelsontky said:
No it does not, sorry
Click to expand...
Click to collapse
Actually Notify and Fitness can sync your activities with Strava or Runkeeper (or create a raw .tcx file) but you have to buy the third party export IAP which is separate from the Pro one.
Matchstick said:
Actually Notify and Fitness can sync your activities with Strava or Runkeeper (or create a raw .tcx file) but you have to buy the third party export IAP which is separate from the Pro one.
Click to expand...
Click to collapse
I may be able to figure out a way to do that without these apps
Can you please help me use Amazfit BIP to display Prayer timings and Qibla Direction(Muslim) just like Al fajr watches??? I will be grateful.
I want the watch work independently to display the prayer timings for any given locations. your support in this regard will be highly appreciated.
Thank you for the post. Do you know when you have time for the Google Maps Navigation guide? I am still undecided if I want to buy a BIP.
m0ritz said:
Thank you for the post. Do you know when you have time for the Google Maps Navigation guide? I am still undecided if I want to buy a BIP.
Click to expand...
Click to collapse
I am currently having some difficulties with google maps navigation as they changed their direction instructions to pictures (and I cannot grab all the possible images) I kinda have it ready for OSMAnd however OSMAnd does not work as well as gmaps.
awankufri said:
Can you please help me use Amazfit BIP to display Prayer timings and Qibla Direction(Muslim) just like Al fajr watches??? I will be grateful.
I want the watch work independently to display the prayer timings for any given locations. your support in this regard will be highly appreciated.
Click to expand...
Click to collapse
It is not possible to display such information on the watchface directly. It may be possible to create a notification for these though and you can be able to view the information on your watch upon a button press/a series of button presses while connected to your phone. If you are fine with such limitations do reply and we can work something out together and add it to this thread
That would be awesome. Thanks a lot for taking interest in my. I really appreciate it. If this info can be displayed on watch without using smartphone...
awankufri said:
That would be awesome. Thanks a lot for taking interest in my. I really appreciate it. If this info can be displayed on watch without using smartphone...
Click to expand...
Click to collapse
Without smartphone would be impossible as if I am not wrong the prayer time kind of changes everyday right? There is no possibility of importing a timetable to the bip due to its lack of function. For qibla direction wise, the bip actually has the hardware to calculate the direction but due to it being a closed system, it is impossible to create an app on the watch to do so. You can technically find the direction by subtracting your coordinates from the qibla's one but thats too tedious.
Thanks a lot brother for the reply. we (Muslims) pray five times a day. timings are based on 2 parameters.
1. movement of SUN &
2. location
for example prayer times for Newyork will be different from Dubai. for reference check this app
https://play.google.com/store/apps/details?id=com.haz.prayer&hl=en
Please. even if with the button we can display such info, it would be great..
nelsontky said:
I am currently having some difficulties with google maps navigation as they changed their direction instructions to pictures (and I cannot grab all the possible images) I kinda have it ready for OSMAnd however OSMAnd does not work as well as gmaps.
Click to expand...
Click to collapse
Hi,
a good guide for OSMAnd would be helpful too. So would be very nice to post it aswell.
Cheers
Is it possible to set up workouts or pace notifications for running? Like have it tell you to run for 0.3 miles then rest for 30 seconds, then run again etc. Is it possible for it to remind you if you're running below a certain pace e.g buzz if you go above a 7:30 min/mile pave?
Hi. So i am looking for customization. However I use an iPhone and have a spare android phone. If I buy the all amazing tools and amazfit app can I not have my amazfit bip connected to the phone all day (during night time as well) and expect to get all the data and features of the app when I connect to the app once a day?
---------- Post added at 07:32 PM ---------- Previous post was at 07:27 PM ----------
Also please tell me if theres a way to track GYM routine on amazfit like resistance and strength training
Related
Hello all,
APOD Astronomy Picture of the Day Browser Description;
Note: When installed on SD Card then, after a hard reset of your device, one does not have to reinstall this application. Creating a link manually to it is enough.
The APOD browser is simple software for the purpose of quering NASA fantastic, unparalleled Astronomy Picture of the Day site. This tool allows searching the site by date, by a keyword or by the site editor's choice. A online connection is required for this application to work.
How to Use:
You can query APOD in basically three modes:
1. By Date
Select a date to view the APOD of that date. Since the first APOD image was presented on June 16, 1995, the calendar is limited to between June 16, 1995 and Today.
2. By Keyword
Enter a keyword of your choice and tap on [Search]. Make sure to avoid too common keys, such as 'moon', 'planet', etc. This would result in too many hits, since each occurance of that search string in APOD's texts will be output as result and is often not related to what you wish to explore.
3. By Choice
This mode searches the editor's choices for the most educational Astronomy Pictures of the Day. Simply select an item from the combo box. Each choice yields three to five hits as so well selected by the authors of APOD.
After closing the settings screen, tap on the GO menu to download the selected image and text. Tap on the image for a shrunk view that fills the screen without scrollbars.
Tap and hold on the image to open a context menu.
# Image info: shows image size.
# Negative image: turns the image negative and back positive.
# Save Image and Text: saves the current image (negative or positive) to a subfolder named 'saved', including the explanation text. Please note that devices running Pocket PC 2003(SE) cannot save JPEG images, but large BMPs only (o/s limitation). You may wish to manually reduce the color depth of BMPs to 256 colors to save space. WM devices save images as JPEG, mostly staying under 100KB.
# Select another Image: turns to the Settings screen.
You can browse saved images with the cursor keys:
# Right key: one image forward
# Left key: one image back
# Up key: goes to the last image
# Down key: goes to the first image
# Center key: goes to the midmost image
:END
As mentioned in the post below (I totally forgot to C/P the link here) *cough* here is the link to APOD;
Astronomy Picture of the Day: http://antwrp.gsfc.nasa.gov/apod/astropix.html
Recently I visited this web page http://www.alfcen.com/pocket/apod.html and download from there an PPC (ActiveSync) unfriendly *.exe.
EDiT: currently the above page is not reachable anymore. Use http://www.requio.com/pocket/apod.html instead.
I really do dislike ActiveSync installs, therefore I extracted it to APOD.CAB (see attachment). IMHO this way more people here on xda can enjoy this nice program too BTW I'm in no way affiliated with this site.
It runs in VGA, so when you too have a WVGA screen, you'll see the background border... If you do not want that then I suggest to use WVGAFIX3.
Link: APOD with Russian interface Перевод интерфейса программы на русский язык от dima8774.
Here are my linx to obtain Astronomical (large) pictures and lots of information about 'em;
http://photojournal.jpl.nasa.gov/
http://photojournal.jpl.nasa.gov/catalog/
http://www.eso.org/outreach/gallery/astro/
http://hubblesite.org/newscenter/archive/releases/
http://heritage.stsci.edu/gallery/gallery.html
http://www.spacetelescope.org/images/index.html
http://www.noao.edu/image_gallery/
http://www.noao.edu/outreach/aop/observers/bestof.html
http://www.ipac.caltech.edu/
http://chandra.harvard.edu/photo/chronological.html
http://www.spitzer.caltech.edu/Media...es/index.shtml
http://ssc.spitzer.caltech.edu/
http://coolcosmos.ipac.caltech.edu/i...leries/legacy/
http://www.ipac.caltech.edu/2mass/index.html
http://www.ipac.caltech.edu/2mass/ga...ase/index.html
http://www.gemini.edu/index.php?option=com_gallery
http://www.astro.umontreal.ca/~opiomm/images.html
http://archive.stsci.edu/sites.html
Have fun,
Senax
Thank YOU for info!
Really, thank you.
.
.
APOD - http://antwrp.gsfc.nasa.gov/apod/astropix.html
You must be one of narrow kind of real PDA users.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
FLYME OS 5.1.8.1R for Micromax Canvas Nitro A311/A310
The Flyme OS 5 based on Android 5.1 Lollipop (Cyanogenmod) does come with refined user experience like redesigned transition animations, new icon pack and with tons of newly added features.
Disclaimer
Code:
include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
ROM Features
Flyme OS features are given in Post#2
Installation Instruction
- Use TWRP 2.8.6.0/TWRP 2.8.7.0
- Wipe system, cache, dalvik cache, data, internal storage
- Format data
- Unmount data (Go into Mount settings in TWRP, then remove checkmark from system, data, cache)
- Flash the zip file
- Flash gapps from given link below
- Flash Supersu zip
Youtube Review of FlymeOS v5.1.8.1R by @Prasad527
https://www.youtube.com/watch?v=vyYfWLl7xBU
Download Link
ROM LINK (v5.1.8.1R)
https://goo.gl/pkfRLO
ROM LINK (v5.1.7.25R)
https://goo.gl/NvTvQz
Gapps ONLY for FlymeOS v5.1.7.25R - DON'T USE IT ON ANY OTHER VERSION
https://goo.gl/1n1wOb
Alternate Link for Gapps for Flyme v5.1.7.25R
https://1drv.ms/f/s!Ap5ZzRIsABM_e2IUJN-bpk3xUsg
Important Note: Flash ROM then reboot. Don't flash any other zip along with ROM (i.e. gapps and other). First boot takes time (almost 10 minutes). So be patient. Set the device settings and reboot to recovery then flash Gapps and other patches. Also take note that Supersu and sound patch already merged in v5.1.7.25R.
ROM LINK (v5.1.6.24R)
https://goo.gl/IdKBRn
ROM LINK (v5.1.5.20R)
https://goo.gl/oQWqlv
Patch for A310 Users
https://goo.gl/nA0njL
TWRP RECOVERY 2.8.6.0
https://mega.nz/#!plUBWb6b!S4Mal6vqfufpvxe8nCklCvUn2B3ElYEWthAtnYdlQDk
TWRP RECOVER 2.8.7.0
https://goo.gl/mZpyPE
GAPPS Link
https://basketbuild.com/uploads/devs/osm0sis/gapps/tk_gapps-modular-pico-5.1.1-20150920-signed.zip
Sound Patch
https://goo.gl/PHQeol
Credits
@fire855
@Rohan Taneja
@addictz10
@Surajlad9
XDA : DevDB Information
Flyme OS 5.1.8.1R ROM for the Micromax Canvas Nitro A310/A311
Contributors
@bravonova
ROM OS Version: 5.1.1 Lollipop
ROM Kernel: Linux 3.4.67
Based On: CyanogenMod
Version Information
Status: Beta
Stable Release Date: 2015-05-27
Created 2015-05-27
Last Updated 2016-08-09
Flyme OS 5 full changelog:
Desktop:
Floating notice: supports floating inform, to avoid the operation is interrupted.
Multitasking: new card multitasking list, long press to lock individual applications.
Split-screen mode: Multi-screen mode to create a list of tasks while using two applications, you can adjust the window proportions (only part of the application).
Batch finishing icons: Long press the desktop select “sort icon ‘batch select the icon to move to a different desktop or folder.
Shake finishing the desktop: Go to “arrange icons” mode, shake your desktop tidy Fast Recovery.
Folders are automatically named: Create a folder, depending on the application type for the folder name is automatically.
Notification bar:
Optimize the layout: drop-down notification bar without notice Expand all default switch, when there is multiple notifications pull-down notification to view more.
Notify management: Settings – Notification and Status Bar – application notification management, support each application switching and priority setting for notification.
Lock screen:
Music Locker: New music lock screen, lock screen display directly covers and lyrics.
Lock screen notifications: Settings – notification and status bar, select whether to display the notification in the lock screen to notify whether the new bright screen.
Information:
Customer Service Assistant: New customer assistant accounts, support online chat.
Floating notice: Supports quick reply message and copy the code in the floating notification.
Smart SMS: Update Smart SMS service menu, more powerful.
Phone:
Floating notice: New calls Floating notice.
Dialpad: Suspended dial plate design, support slide switch contacts, call records, the Yellow Pages.
Online Yellow Pages: New independent online Yellow Pages, online services, one-touch access.
Yellow Correction: Yellow Pages for the online identification number, the error correction can take the initiative in the contact details.
Number Tags: against harassment calls, support for online marking the contact details.
Recording List: Telephone – setting “recorded message” and “call recording” can see the individual recordings.
Dialpad switch: to enter the phone – setting, open “dial pad input switching,” in the dial pad click on the lower left corner of the keyboard symbol to switch T9 and full keyboard dial pad.
Flyme communication:
Switching numbers: support is changing the network telephone number bind.
Set up:
The new design: for interaction and functional grouping adjustment.
Search: New search function, support for the use of text and voice search settings.
Volume Category: Settings – Sound and vibration – volume, the new volume category management.
Network Sharing: Settings – Wireless Network, click on the Wi-Fi hotspot to share Wi-Fi network through a two-dimensional code.
Preferred networks: Settings – Wireless Network, click on the Wi-Fi hotspots, set the priority for this network connection.
Energy management: Optimizing power ranking, classification display hardware power consumption.
Default Application: Settings – Application Management – default applications, support for different categories to set the default application.
Analog Color: Settings – Accessibility – Developer Options – simulation color space, color blindness or color weakness mode supported by the analog color space.
Search:
Plugin: New weather search 4 * 2 widget.
Home: New Search Home, updated in real time hot search words.
Card: search results by showing the card, the interface cleaner.
Input:
Candidate words: new candidate word dropdown, improve the speed choice of words.
Transcriber: New full-screen handwriting keyboard input more casual.
Symbol Keyboard: New independent symbols keyboard, keypad lock symbol support continuous input symbols and expression.
Vibration sense switch: to enter the input settings screen, select whether to open the key vibration.
Mobile butler:
Rights management: access rights management – setting, open “cutting each other to start the application” switch, wake each behavior tracking applications, a key force off wakeup path.
Harassment intercept: harassment interception to a safe center to support blocking unknown numbers and hidden numbers.
Garbage clean white list: application cache, redundant installation package, application uninstall remnants supports adding white list, to avoid false cleanup.
Regular cleaning: Regular cleaning new “scan and clean” option rubbish more peace of mind.
Notification bar traffic information: traffic management – setting, the new “Notification bar shows the flow of information” switch.
Mobile Acceleration: clean up the permanent background, to accelerate the speed of the phone.
Rapid examination and a key optimization: no need to wait to enter the interface will be able to know the phone health status, one-click fix all problems.
Applications whiten: support the cottage detection application, eliminate safety hazards.
Toolbox:
New “toolbox” App.
Flashlight: Support SOS mode and brightness adjustment third gear.
Mirror: Support normal, twist, rotate, mirror effect symmetrical four.
Compass: Support orientation and latitude and longitude display.
Level: Intuitive view levelness.
Measurement scale: Supports cm and inch two scales.
Magnifier: supports torch mode can also be used at night.
Shortcuts: frequently used tool to add support for the desktop shortcut.
Browser:
Home: Home new design.
Window: Window tag optimization show form.
Card: Added “micro letter headline” card.
Toolbar: new toolbar at the bottom, more intuitive operation.
Music:
Music Library: Access shrimp music, comprehensive music library rich resources.
Contents: Introduction of a single song shrimp, shrimp rankings, selection set, you may also like the daily recommended content.
Radio: New offline radio function, WLAN environment to automatically update the music library offline.
Song Roaming: For the love of singles, a key roams similar songs.
Singles Comments: New singles comment feature, data access shrimp music reviews.
Artist Collection: Artist Collection features new, easy to find your favorite artists.
Members receive: Music opened Thanksgiving activities, membership users can receive free two-month membership services, after the purchase of non-members can also receive free
Video:
Video Feed: New video feeds, support update reminders, chase drama easier.
Potatoes from Channel: New potatoes from channel content, rich video library.
Online seat selection: Adjust movie theaters interface, more convenient booking.
Dropzone: In video playback applications support floating window, the perfect realization of “picture in picture”; support suspension / full screen seamlessly switch playback, without cache.
Cache management: the same series of video automatic classification, by “cache more” direct cache with other video episodes, cache operations more convenient.
Camera:
Shooting GIF: GIF new shooting mode, easy homemade face pack.
Time Watermark: Camera – set new time watermark switch.
Voice Camera: Camera – setting new voice camera switch.
Flash: Flash memory setting status, avoid duplication.
Manual mode: increase saturation, contrast, and white balance adjustment option.
Gallery:
Map Mode: Gallery – set, display photos in a map, generate personal and exclusive travel map.
Pictures: Favorites favorite pictures quickly browse in the collection folder.
Custom Cover: Press folder covers, replace favorite picture as the cover.
Filter Small size: Gallery – setting, the new small-size image filter switch, gallery cleaner.
Silent backup: Gallery – setting new silent backup switch.
Is hidden: Press the folder displayed directly Hide unwanted folders?
Photo Week view: two-finger zoom, free to switch month and week views, more convenient management.
Photo Editor: Optimize photo editing features, free to adjust the level of the filter and mosaics.
Set Wallpaper: Set wallpaper function optimization, support for custom fuzzy level and overlay pattern.
Topic landscaping:
Font Replacement: support the replacement of system fonts without root and rebooting.
Variety lock screen: New Variety lock screen, unlocking is a pleasure.
App Store:
Best application: the most beautiful application and content collaboration, found a small but beautiful application.
Applications Tags: Applications New Applications tab shows details page for easy viewing similar applications.
Permissions Show: The new application details page showing detailed permissions entrance, detailed permissions can understand the application before installation.
Micro-channel sharing: sharing style micro-channel optimization.
Calculator:
Rates search: When Conversion Rates support direct search by country name.
Unit operation: When the unit converter supports direct operation.
Uppercase conversion: Press the calculated results can be directly converted to uppercase digital.
Clock:
Batch delete: Supports long press batch delete alarm and world clock.
Lock screen weather: it removes the lock screen clock weather animation, text display weather information.
Timescale: Timer setting to adjust the time scale style.
File:
Design: Optimizing directory structure, file classification provides entry.
Remote management: new FTP remote management capabilities, the same Wi-Fi environment, no data line management phone files directly on the computer.
Hidden folders: Documents – setting, the freedom to choose whether to display hidden folders / directories.
Storage space display: Docs display is remaining storage space.
Display: adjust the length of the file name is displayed, you can view more detailed filenames.
Find the phone:
Loss reporting mode: Added a key report the loss, report the loss will temporarily restore the phone to factory state, seal all private data (images, video, etc.), to ensure that the loss of phone, private data will not be disclosed.
On-line reminder: When the phone is lost without waiting for the phone line, on the line after reporting the loss as long as the message will immediately notify the owner.
Intelligent alerts Alert: When a lost handset without knowing the exact location in the vicinity of the time, intelligent alerts using the Alert feature, the phone automatically sound.
Send a message: Find mobile phone service built dialogue channel, even if the missing cell phone SIM card is not inserted, you can still carry on a dialogue with each other.
Intelligent Face capture: After reporting the loss will be smart, open face capture, Time Lapse mobile phone users do not face.
Notes:
Switching topics: new theme switching capabilities, built-in themes, and fonts four different plates.
Search Notes: Add notes searching for a more convenient.
Text Share: Add text form of sharing notes.
Graffiti: Graffiti support directly on the drawing board.
Automatic numbering: support number automatically created when editing notes.
Recording Animation: Animation recording new record is inserted.
Desktop plug-in: plug-in supports fast new recordings and photographs, support for displaying the contents of all notes.
Sketchpad:
Color: Add more preset color.
User Center:
New Independent User Center App.
User level: New user rating system, to enhance the level to get more privileges.
Supplementary Information: Support Extended user details.
Integral Center: new integration center to support exchange gifts, earn points, points sweepstakes.
Information:
Column Category: Home columns support the classification display, browsing more convenient.
Data Fusion: Fusion feeds data under the same section, read more peace of mind.
Interactive adjustment: Adjust Subscription Center, individual centers, the article details the interaction.
Weather:
Interface: The new weather interface, you can see more content in the home.
Share: A long way to share detailed weather information Screenshot.
Urban management: direct display of weather information in different cities in the urban management interface.
Weather warnings: New weather warning function to support and friends to share early warning information.
Domestic services:
Cinema Movies: online seat selection introduces the new movie and the upcoming movie details, the new movie stills View.
Travel: New hotels and airfare booking function.
Calendar:
Constellation almanac: Support Calendar Home View constellations and almanac information.
Event Suspension Ball: New event suspension ball, quick to create a new event.
Calendar projection device: New Calendar projections, supports date projections, interval estimation and public Lunar conversion.
Interval Display: Click on any date, the number of days in the calendar left corner Quick View.
Notification: Permanent cancellation notification bar notification, slide cancel.
Game Center:
Online content: the game details page to increase the game Raiders, evaluation, information, video, and other content packs.
Micro-channel sharing: sharing style micro-channel optimization.
Mail:
Account Settings: Press the mailbox type to add new accounts automatically configure account information.
Gestures Zoom: Theme card supports gestures to zoom, browse more relaxed details.
Attachment: New Attachment Manager functions, optimizing mail attachment display position.
Search: a substantial increase in search speed, highlight keyword.
YouTube HD Playback
Newer youtube app versions have broken video quality detection. For fixing that problem you need to use a older youtube version. This version is working: http://www.apkmirror.com/apk/google-inc/youtube/youtube-10-14-56-android-apk-download/
Second Method
To fix HD Videos on Youtube all we have to do is:
Thanks to : @Typhus_
Install Latest Youtube App
Open it and see any video (one you know it should be 1080p available but it's stuck at 360p)
Navigate to /data/data/com.google.android.youtube/shared_prefs (use any explorer with root permission)
Open youtube.xml
Find:
Code:
<boolean name="h264_main_profile_supported5.1.1" value="false" />
Replace to:
Code:
<boolean name="h264_main_profile_supported5.1.1" value="true" />
Save the file
Enjoy!
Screen Recording Workaround
Thanks to : Ajit Guraya (www.mtkroms.com)
You can also check it on --> http://www.mtkroms.com/2015/11/fix-bugs-in-all-cyanogenmod-12-roms-mtk.html
Follow the below steps:
1. Download Shou from play store.
2. Sign in/Sign up.
3. Allow root permissions
4. When a popup about allowing screen record comes, just press START and DO NOT CHECK "DO NOT SHOW AGAIN".
5. Click on the floating pink circle
6. Slect Record
7. Enter any file name.
8. Click on Settings.
9. In encoding engine : Select SOFTWARE instead of hardware.
10. Enjoy screen recording.
VPN
thanks to @nervehammer
Follow these step to enjoy VPN in cm builds ..
1. Go to psiphon and choose Browser-Only mode don't tunnel whole device.
2. Go to its logs tab and check the port of http proxy.
3. Now open WiFi setting and long press to your WiFi network (from which u are connected) go to modify tab and from check the advanced options.
4. Chosen manual proxy option and put host name as 127.0.0.1 and port as the no. which you noted in step 2 (eg. 8080) and click save .
Enjoy you have set up a VPN connection successfully.
You can open your browser and check your IP
Note: You have to undo this after you don't need VPN by changing manual proxy to none .
For those who want to use Orbot vpn
This is very similar to previous vpn workaround for psiphon
Just follow these step for Orbot
1. Open Orbot and long press to start orbot.
2. When all bootstrapped done go to check browser it will ask for normal browser or install Orweb .
3. Open Orweb and volla you r connected to tor but actually its not to tunnel your traffic to vpn go to Orweb settings.
4. Now note the proxy host and proxy port generally it is localhost(same as 127.0.0.1) and 8118 respectively but it may change so better to keep updated with port numbers.
5. Now go to wifi setting and long press the wifi (from which u r connected) and check advanced options.
6. Choose manual proxy option and put the host name 127.0.0.1 and port no. (e.g. 8118 ) which u noted in step 4
Now u can check https://check.torproject.org from any browser and volla Congo this browser is configured to use tor.
Sorry for long guide but it is detail enough so that anyone can easily setup tor in cm builds.
Note: You have to undo manual proxy option to none after you don't use vpn.
OBB on SD Card
Use following xposed module
Obb on SD
Module Obb on SD attempts to make it seamless - just enable module, reboot and move obb's to SD card (to same folder: Android/obb) - that's that. No need to enter any path or whitelist/blacklist any app. Do you want to only move Obb from Grand Theft Auto? Then only move that obb. Obb on SD will detect "obb on SD" and enable hooks only for this single game.
http://dl-xda.xposed.info/modules/com.smartmadsoft.xposed.obbonsd_v8_f16a1d.apk
Author(s):
moneytoo
Support/Discussion URL:
http://forum.xda-developers.com/xposed/modules/mod-obb-sd-v0-1-t2884004
Does it work auto rotation?
rantosp said:
Does it work auto rotation?
Click to expand...
Click to collapse
auto rotation working properly
What about GPS??
And 2g/3g switch working properly..?
Any specific bugs..?
stuck on boot (with picture of baloon and sign 'flyme').
i've try to flash it 3 times and 3 times i got stuck (with the instalation instructions).
mickiewicz said:
stuck on boot (with picture of baloon and sign 'flyme').
i've try to flash it 3 times and 3 times i got stuck (with the instalation instructions).
Click to expand...
Click to collapse
Same to me Coolpad f1
what about battery life
---------- Post added at 06:58 PM ---------- Previous post was at 06:57 PM ----------
its fully LP rom or just themed like LP
---------- Post added at 07:07 PM ---------- Previous post was at 06:58 PM ----------
from this thread i can expect miui 7 5.1.1 for a311 or any other custom rom like sony z3 , honnor ,lenovo etc
Or it's support cyanogen themes or not
Sent from my Nitro using XDA-Developers mobile app
mickiewicz said:
stuck on boot (with picture of baloon and sign 'flyme').
i've try to flash it 3 times and 3 times i got stuck (with the instalation instructions).
Click to expand...
Click to collapse
rantosp said:
Same to me Coolpad f1
Click to expand...
Click to collapse
I am looking into issue. It will be solved soon.
rahult2838 said:
Or it's support cyanogen themes or not
Sent from my Nitro using XDA-Developers mobile app
Click to expand...
Click to collapse
This ROM doesn't support CM themes.
stuck at boot screen :/ please provide fix!
Ali_Waris said:
What about GPS??
And 2g/3g switch working properly..?
Any specific bugs..?
Click to expand...
Click to collapse
GPS has no issues.... There is no 2g/3g switch issue on LP based ROMs
mickiewicz said:
stuck on boot (with picture of baloon and sign 'flyme').
i've try to flash it 3 times and 3 times i got stuck (with the instalation instructions).
Click to expand...
Click to collapse
rantosp said:
Same to me Coolpad f1
Click to expand...
Click to collapse
amy1193 said:
stuck at boot screen :/ please provide fix!
Click to expand...
Click to collapse
Links are updated in first post.... Stuck at Flyme logo issue solved now. First boot takes time to boot
bravonova said:
Links are updated in first post.... Stuck at Flyme logo issue solved now. First boot takes time to boot
Click to expand...
Click to collapse
hello I installed the rom but after lavvio crashes when you select the sim for text messages. shows the message (the application setting and locked abnormally) and cell and inutilizabile remains blocked in the configuration
ok, now it stucks at language selection ("unfortunately, setting has stopped' popup).
pitty.
mickiewicz said:
ok, now it stucks at language selection ("unfortunately, setting has stopped' popup).
pitty.
Click to expand...
Click to collapse
yeah, got same error here. Plz fix it:crying:
mickiewicz said:
ok, now it stucks at language selection ("unfortunately, setting has stopped' popup).
pitty.
Click to expand...
Click to collapse
kamathshreyas said:
yeah, got same error here. Plz fix it:crying:
Click to expand...
Click to collapse
I installed ROM multiple times but no such issue faced.... Wipe system, cache and data partition before flashing.....
it stucks when i use yours instalation guide.
after my usuall install sequence i managed to flash it.
now testing.
How to make your app accessible to users with vision impairment or other physical disabilities.
Your customer base probably includes many people with disabilities, whether you are aware of it or not. According to government figures, one person in five has some functional limitation, and eight percent of all users on the Web have disabilities. In the United States alone there are more than 30 million people with disabilities who can be affected by the design of computer software, and worldwide the number is much higher. Many countries/regions, including the United States, have laws that mandate accessibility at some level.
When it comes to reaching as wide a user base as possible, it's important to pay attention to accessibility in your Android application. Cues in your user interface that may work for a majority of users, such as a visible change in state when a button is pressed, can be less optimal if the user is visually impaired.
This post shows you how to make the most of the accessibility features built into the Android framework. It covers how to optimize your app for accessibility, leveraging platform features like focus navigation and content descriptions. It also covers how to build accessibility services, that can facilitate user interaction with any Android application, not just your own.
Techniques should be applied to solve them:
1. Developing Accessible Applications
Learn to make your Android application accessible. Allow for easy navigation with a keyboard or directional pad, set labels and fire events that can be interpreted by an accessibility service to facilitate a smooth user experience.
Add Content Descriptions
It's easy to add labels to UI elements in your application that can be read out loud to your user by a speech-based accessibility service like TalkBack . If you have a label that's likely not to change during the lifecycle of the application (such as "Pause" or "Purchase"), you can add it via the XML layout, by setting a UI element's android:contentDescription attribute, like in this example:
<Button
android:id=”@+id/pause_button”
android:src=”@drawable/pause”
android:contentDescription=”@string/pause”/>
However, there are plenty of situations where it's desirable to base the content description on some context, such as the state of a toggle button, or a piece selectable data like a list item. To edit the content description at runtime, use the setContentDescription() method, like this:
String contentDescription = "Select " + strValues[position];
label.setContentDescription(contentDescription);
Try to add content descriptions wherever there's useful information, but avoid the web-developer pitfall of labelling everything with useless information. For instance, don't set an application icon's content description to "app icon". That just increases the noise a user needs to navigate in order to pull useful information from your interface.
Try it out! Download TalkBack (an accessibility service published by Google) and enable it in Settings > Accessibility > TalkBack. Then navigate around your own application and listen for the audible cues provided by TalkBack.
Design for Focus Navigation
Your application should support more methods of navigation than the touch screen alone. Many Android devices come with navigation hardware other than the touchscreen, like a D-Pad, arrow keys, or a trackball. In addition, later Android releases also support connecting external devices like keyboards via USB or bluetooth.
In order to enable this form of navigation, all navigational elements that the user should be able to navigate to need to be set as focusable. This modification can be done at runtime using the View.setFocusable() method on that UI control, or by setting the android:focusable attrubute in your XML layout files.
Also, each UI control has 4 attributes, android:nextFocusUp, android:nextFocusDown, android:nextFocusLeft, and android:nextFocusRight, which you can use to designate the next view to receive focus when the user navigates in that direction. While the platform determines navigation sequences automatically based on layout proximity, you can use these attributes to override that sequence if it isn't appropriate in your application.
For instance, here's how you represent a button and label, both focusable, such that pressing down takes you from the button to the text view, and pressing up would take you back to the button.
<Button android:id="@+id/doSomething"
android:focusable="true"
android:nextFocusDown=”@id/label”
... />
<TextView android:id="@+id/label"
android:focusable=”true”
android:text="@string/labelText"
android:nextFocusUp=”@id/doSomething”
... />
Fire Accessibility Events
If you write a custom view, make sure it fires events at the appropriate times. Generate events by calling sendAccessibilityEvent(int), with a parameter representing the type of event that occurred. A complete list of the event types currently supported can be found in the AccessibilityEvent reference documentation.
As an example, if you want to extend an image view such that you can write captions by typing on the keyboard when it has focus, it makes sense to fire an TYPE_VIEW_TEXT_CHANGED event, even though that's not normally built into image views. The code to generate that event would look like this:
public void onTextChanged(String before, String after) {
...
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
}
...
}
Test Your Application
Be sure to test the accessibility functionality as you add it to your application. In order to test the content descriptions and Accessibility events, install and enable an accessibility service. One option is Talkback , a free, open source screen reader available on Google Play. With the service enabled, test all the navigation flows through your application and listen to the spoken feedback.
2. Developing Accessibility Services
Develop an accessibility service that listens for accessibility events, mines those events for information like event type and content descriptions, and uses that information to communicate with the user. The example will use a text-to-speech engine to speak to the user.
Create Your Accessibility Service
An accessibility service can be bundled with a normal application, or created as a standalone Android project. The steps to creating the service are the same in either situation. Within your project, create a class that extends AccessibilityService.
package com.example.android.apis.accessibility;
import android.accessibilityservice.AccessibilityService;
public class MyAccessibilityService extends AccessibilityService {
...
@override
public void onAccessibilityEvent(AccessibilityEvent event) {
}
@override
public void onInterrupt() {
}
...
}
Like any other service, you also declare it in the manifest file. Remember to specify that it handles the android.accessibilityservice intent, so that the service is called when applications fire an AccessibilityEvent.
<application ...>
...
<service android:name=".MyAccessibilityService">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
. . .
</service>
...
</application>
If you created a new project for this service, and don't plan on having an application, you can remove the starter Activity class (usually called MainActivity.java) from your source. Remember to also remove the corresponding activity element from your manifest.
Configure Your Accessibility Service
You have two options for how to set these variables. The backwards-compatible option is to set them in code, using setServiceInfo(android.accessibilityservice.AccessibilityServiceInfo). To do that, override the onServiceConnected() method and configure your service in there. @override
public void onServiceConnected() {
// Set the type of events that this service wants to listen to. Others
// won't be passed to this service.
info.eventTypes = AccessibilityEvent.TYPE_VIEW_CLICKED |
AccessibilityEvent.TYPE_VIEW_FOCUSED;
// If you only want this service to work with specific applications, set their
// package names here. Otherwise, when the service is activated, it will listen
// to events from all applications.
info.packageNames = new String[]
{"com.example.android.myFirstApp", "com.example.android.mySecondApp"};
// Set the type of feedback your service will provide.
info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN;
// Default services are invoked only if no package-specific ones are present
// for the type of AccessibilityEvent generated. This service *is*
// application-specific, so the flag isn't necessary. If this was a
// general-purpose service, it would be worth considering setting the
// DEFAULT flag.
// info.flags = AccessibilityServiceInfo.DEFAULT;
info.notificationTimeout = 100;
this.setServiceInfo(info);
}
The second option is to configure the service using an XML file. Certain configuration options like canRetrieveWindowContent are only available if you configure your service using XML. The same configuration options above, defined using XML, would look like this:
<accessibility-service
android: accessibilityEventTypes="typeViewClicked|typeViewFocused"
android: packageNames="com.example.android.myFirstApp, com.example.android.mySecondApp"
android: accessibilityFeedbackType="feedbackSpoken"
android: notificationTimeout="100"
android: settingsActivity="com.example.android.apis.accessibility.TestBackActivity"
android: canRetrieveWindowContent="true"
/>
If you go the XML route, be sure to reference it in your manifest, by adding a <meta-data> tag to your service declaration, pointing at the XML file. If you stored your XML file in res/xml/serviceconfig.xml, the new tag would look like this:
<service android:name=".MyAccessibilityService">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data android:name="android.accessibilityservice"
android:resource="@xml/serviceconfig" />
</service>
Respond to AccessibilityEvents
Now that your service is set up to run and listen for events, write some code so it knows what to do when an AccessibilityEvent actually arrives! Start by overriding the onAccessibilityEvent(AccessibilityEvent) method. In that method, use getEventType() to determine the type of event, and getContentDescription() to extract any label text associated with the view that fired the event. @override
public void onAccessibilityEvent(AccessibilityEvent event) {
final int eventType = event.getEventType();
String eventText = null;
switch(eventType) {
case AccessibilityEvent.TYPE_VIEW_CLICKED:
eventText = "Focused: ";
break;
case AccessibilityEvent.TYPE_VIEW_FOCUSED:
eventText = "Focused: ";
break;
}
eventText = eventText + event.getContentDescription();
// Do something nifty with this text, like speak the composed string
// back to the user.
speakToUser(eventText);
...
}
Query the View Heirarchy for More Context
This step is optional, but highly useful. The Android platform provides the ability for an AccessibilityService to query the view hierarchy, collecting information about the UI component that generated an event, and its parent and children. In order to do this, make sure that you set the following line in your XML configuration:
android:canRetrieveWindowContent="true"
Once that's done, get an AccessibilityNodeInfo object using getSource(). This call only returns an object if the window where the event originated is still the active window. If not, it will return null, so behave accordingly. The following example is a snippet of code that, when it receives an event, does the following:
.Immediately grab the parent of the view where the event originated
.In that view, look for a label and a check box as children views
.If it finds them, create a string to report to the user, indicating the label and whether it was checked or not.
.If at any point a null value is returned while traversing the view hierarchy, the method quietly gives up.
// Alternative onAccessibilityEvent, that uses AccessibilityNodeInfo @override
public void onAccessibilityEvent(AccessibilityEvent event) {
AccessibilityNodeInfo source = event.getSource();
if (source == null) {
return;
}
// Grab the parent of the view that fired the event.
AccessibilityNodeInfo rowNode = getListItemNodeInfo(source);
if (rowNode == null) {
return;
}
// Using this parent, get references to both child nodes, the label and the checkbox.
AccessibilityNodeInfo labelNode = rowNode.getChild(0);
if (labelNode == null) {
rowNode.recycle();
return;
}
AccessibilityNodeInfo completeNode = rowNode.getChild(1);
if (completeNode == null) {
rowNode.recycle();
return;
}
// Determine what the task is and whether or not it's complete, based on
// the text inside the label, and the state of the check-box.
if (rowNode.getChildCount() < 2 || !rowNode.getChild(1).isCheckable()) {
rowNode.recycle();
return;
}
CharSequence taskLabel = labelNode.getText();
final boolean isComplete = completeNode.isChecked();
String completeStr = null;
if (isComplete) {
completeStr = getString(R.string.checked);
} else {
completeStr = getString(R.string.not_checked);
}
String reportStr = taskLabel + completeStr;
speakToUser(reportStr);
}
Now you have a complete, functioning accessibility service. Try configuring how it interacts with the user, by adding Android's text-to-speech engine, or using a Vibrator to provide haptic feedback!
3. Accessibility Checklist
Learn how to test your app for accessibility.
Testing Accessibility Features
Testing of accessibility features such as TalkBack, Explore by Touch and accessibility Gestures requires setup of your testing device. This section describes how to enable these features for accessibility testing.
Testing audible feedback
Audible accessibility feedback features on Android devices provide audio prompts that speaks the screen content as you move around an application. By enabling these features on an Android device, you can test the experience of users with blindness or low-vision using your application.
Audible feedback for users on Android is typically provided by TalkBack accessibility service and the Explore by Touch system feature. The TalkBack accessibility service comes preinstalled on most Android devices and can also be downloaded for free from Google Play.
Testing with TalkBack
The TalkBack accessibility service works by speaking the contents of user interface controls as the user moves focus onto controls. This service should be enabled as part of testing focus navigation and audible prompts.
To enable the TalkBack accessibility service:
Launch the Settings application.
Navigate to the Accessibility category and select it.
Select Accessibility to enable it.
Select TalkBack to enable it.
Note: While TalkBack is the most available Android accessibility service for users with disabilities, other accessibility services are available and may be installed by users.
Testing with Explore by Touch
The Explore by Touch system feature is available on devices running Android 4.0 and later, and works by enabling a special accessibility mode that allows users to drag a finger around the interface of an application and hear the contents of the screen spoken. This feature does not require screen elements to be focused using an directional controller, but listens for hover events over user interface controls.
To enable Explore by Touch:
Launch the Settings application.
Navigate to the Accessibility category and select it.
Select the TalkBack to enable it.
Note: On Android 4.1 (API Level 16) and higher, the system provides a popup message to enable Explore by Touch. On older versions, you must follow the step below.
Return to the Accessibility category and select Explore by Touch to enable it.
Note: You must turn on TalkBack first, otherwise this option is not available.
Testing focus navigation
Focus navigation is the use of directional controls to navigate between the individual user interface elements of an application in order to operate it. Users with limited vision or limited manual dexterity often use this mode of navigation instead of touch navigation. As part of accessibility testing, you should verify that your application can be operated using only directional controls.
You can test navigation of your application using only focus controls, even if your test devices does not have a directional controller. The Android Emulator provides a simulated directional controller that you can use to test navigation. You can also use a software-based directional controller, such as the one provided by the Eyes-Free Keyboard to simulate use of a D-pad on a test device that does not have a physical D-pad.
Testing gesture navigation
Gesture navigation is an accessibility navigation mode that allows users to navigate Android devices and applications using specific gestures. This navigation mode is available on Android 4.1 (API Level 16) and higher.
Note: Accessibility gestures provide a different navigation path than keyboards and D-pads. While gestures allow users to focus on nearly any on-screen content, keyboard and D-pad navigation only allow focus on input fields and buttons.
To enable gesture navigation:
Enable both TalkBack and the Explore by Touch feature as described in the Testing with Explore by Touch. When both of these features are enabled, accessibility gestures are automatically enabled.
You can change gesture settings using Settings > Accessibility > TalkBack > Settings > Manage shortcut gestures.
Note: Accessibility services other than TalkBack may map accessibility gestures to different user actions. If gestures are not producing the expected actions during testing, try disabling other accessibility services before proceeding.
This app is an open source interval timer app for amazfit devices to do interval trainings with HR monitoring
Features
Automatic reps counter for gym!
TCX Exports! Can be uploaded to strava
Workouts will be saved to a DB with its HR, kcal and some more data, you can see that data on settings
Heart Rate monitoring which can be enabled or disabled
You can save your presets and restore them later
Reps mode: If you enable it, work wont be timed, just rest so you can do reps workout
Workout mode: In this mode you'll have to end sets manually
Experimental feature: Get data directly from PPG sensor. This might be more or less accurate than stock method depending on your device
Compatibility
It's compatible with all amazfit devices running android (Amazfit Pace, stratos 2/3 and verge)
HW Buttons integration
AmazTimer supports HW buttons integration!
Pace/Verge/S2 with new layout: Single click to end set, long click to start/stop timer. Center button on S2
Stratos with old key layout: lower button to start, center button for settings and upper button to end sets
Stratos 3: Upper button to start activity, middle upper button to end sets and middle lower button to open settings
You can invert start/finish set keys by enabling invert keys preference
Installation
Code:
adb install -r AmazTimer-x.x.apk
Or if you have AmazMod installed you can install it through your phone.
Note: you can't open it if you don't have app list enabled or amazmod installed
Uninstallation
Code:
adb shell pm uninstall me.micrusa.amaztimer
Downloads
Latest release: https://github.com/micrusa/AmazTimer/releases/latest
Latest edgy: https://github.com/micrusa/AmazTimer/releases/tag/edgy. Edgy builds can be unstable
Sources: https://github.com/micrusa/AmazTimer
Changelogs
Code:
v8.1:
Improved for better design on verge and Stratos 3
Fixed a bug that allowed selecting multiple modes
Fixed a memory leak when sound was enabled
Done some changes for future support of non-amazfit devices
Some other minor improvements and performance optimizations
v8.0:
Added a reps counter mode with automatic reps counting using accelerometer
All workouts will be saved and you can see them on app settings - saved workouts
Support sounds on devices without speaker when BT Headset connected (Enabled by default)
Added a feature to start listening to hr when app starts, so there won't be some secs without HR when activity starts (Enabled by default)
Removed latest training feature
Make experimental sensor a bit slower and more accurate
Moved to MIT license
Some other minor bug fixes and improvements
v7.2:
Fixed FC in settings
Fixed wrong age when no value is set
Fixed a bug where timer would run in background
Now screen will be kept on in main screen too
Improved vibrations
Save TCX asynchronously for more responsiveness
Some more improvements and fixes
v7.1:
Added some haptic vibrations to improve user experience
Added a preference to adjust vibrations
Added a experimental preference to add a offset to TCX times due to problems with timezones (Don't use it if your tcx time is correct)
Added Brazilian Portuguese by (github) aportetecnologia
Improved max hr calculation and hr zones
Many fixes and improvements
v7.0:
Added hw button support for S3
Added an option to invert keys
New layouts with a lot of improvements
Added current hour to the layout
Added optional real time HR zone indicator
Added total elapsed time to the layout
Added experimental option to get data directly from PPG sensor (Avoid huami ****ty processing that breaks interval trainings HR)
Using apple mint as font
Dropped useless modes and preferences
Finish set button always enabled now
Added new prepare screen working on all modes (Previously only worked on default mode)
Some tcx improvements
Run all heavy tasks and hr listener on another Thread to avoid UI lags
Huge code optimization
v6.2: Added button integration for Stratos, check xda thread or readme for instructions
v6.1: Hotfix for stratos 2/3's crash when opening any activity
v6.0:
Added hardware buttons integration for Pace and Verge, soon for Stratos too (Read xda thread or readme for more info)
Remove widget
Fix time in different timezones for tcx exports
Added Czech by mari8b on xda
Reduced file size by ~55% by enabling minify and removing unused icon dpi
Added optional sound in verge
Minor memory and performance improvement
Some other improvements and fixes
v5.3:
HUGE improvement in kcal measurements
Fix latest lap not added to tcx file
Added chrono to workout timer
Big memory improvements
Some other improvements and fixes
v5.2:
Improved all layouts
Added round layout for Stratos 3
Added Hebrew by 1immortal
Added Russian and Ukranian by Osmat
Keep screen on in workout/reps timers
Show a toast if there was any problem saving tcx file
Some other minor fixes and improvements
Added installer, thanks to 1immortal
v5.1:
HOTFIX: Settings activity FC if age wasn't set on older releases
HOTFIX: Create folder AmazTimer if it didn't exist
v5.0:
Added TCX exports. They are saved on Internal Storage/AmazTimer and can be uploaded to strava
Added workout mode. In this mode you have to end sets manually. Useful for weight trainings
Added chrono mode. In this mode it will vibrate by intervals but instead of countdown, screen will show a chrono
Long clicks now increase time by 1m and sets by 5, this will make putting high times faster
Added an option to disable prepare countdown
Improved accuracy checks on heart rate measurements
Big improvement in timer's responsiveness
Some other minor improvements and fixes
v4.3:
Ask for year of birth instead of age
Added heart rate accuracy checks from health app
Improve battery saving mode
Other minor improvements
v4.2:
Added app info tab in settings
Replaced weight and age's seekbar with a list
Increased long vibration time to 700ms
Fixed a lot of possible FCs
Optimized code a lot
Some other minor fixes and improvements
v4.1:
Added heart rate zone to latest training information
Show -- instead of "Reps" in main screen's work text when reps mode enabled
v4.0:
Added reps mode, in this mode work wont have any timer, just rest
Allow timer to run in background (Now timer can run during activities)
Some minor layout fixes
Fixed FC when cancelled timer and there isn't any hr value
v3.0:
Added gender, age and weight (just kg for now) settings, you have to set them if you want accurate kcal measurements
Added avg, min, max hr and kcal measurement, watch them on settings - latest training
Fixed a minor bug (If you cancelled timer from prepare screen it would keep going)
Added an option to extend preparing time to 1 minute, this way you can start timer and then start an activity, so activity will be recorded and you'll have interval timer
v2.0.1:
Updated Italian translation by fcaronte
v2.0:
New icon by fcaronte
Now you can use app with widget disabled (Thanks @fcaronte )
New option to save trainings in settings
Now all activities are full screen
Optimized code
Fixed all bugs from betas
v1.4:
Added Croatian (Thanks MASVA)
Added Italian (Thanks fcaronte)
Organised code
Started working on an option to save workouts (WIP)
New heartbeat icon
v1.3:
Added language to settings
Added english and spanish languages
v1.2:
Added an option to disable heart rate monitoring
Now settings are written in a different file to avoid conflicts
Improved a bit timer's layout
v1.1:
New settings menu
Added battery saving option that disables time screen
Migrated code to AndroidX
v1.0:
Initial release, changes from last beta:
Fixed short click toast
Fixed HR listener disabled when you use cancel button
Increased HR sensor rate to fastest
Bugs and suggestions
If you find any bug or have any suggestion, please open an issue in github or answer to this thread.
Thanks to
AmazMod team
All contributors
All translators
Supported languages
English - default language
Spanish
Italian by @fcaronte
Croatian by MASVA
Hebrew by @1immortal
Russian by Osmat
Ukranian by Osmat
Czech by @mari8b
If you want this app to support your language, translate strings here to your language and it will be added soon. Remember to send it through xda, through an issue or open a pull request
Screenshots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Note: If you liked my work you can help me keeping it up by donating here, also if you liked it you can star the project on github or click thanks button
Let's see if I can do some test soon.
Seem working good, I try only few second and seem ok. Too feature will be the standby mode work but probably is not easy to work on splt mode. Suggest to put name APK on git instead of general app-release, and miss a good icon but yes is a good starting point
fcaronte said:
Seem working good, I try only few second and seem ok. Too feature will be the standby mode work but probably is not easy to work on splt mode. Suggest to put name APK on git instead of general app-release, and miss a good icon but yes is a good starting point
Click to expand...
Click to collapse
Thanks for your suggestions, I added a name to the files.
I just released v1.2
Great job on the app and thanks for sharing the source code.
Would you have time to add a way to save in the app different profiles of interval trainings? meaning the number of sets and the duration with a possibility in the future to load it?
PS: it was requested many times in this app thread as well.
Adi59 said:
Great job on the app and thanks for sharing the source code.
Would you have time to add a way to save in the app different profiles of interval trainings? meaning the number of sets and the duration with a possibility in the future to load it?
PS: it was requested many times in this app thread as well.
Click to expand...
Click to collapse
That's a great idea, I'll try to add it when I have time
Here to you Italian translation file
fcaronte said:
Here to you Italian translation file
Click to expand...
Click to collapse
Thanks for the translations, will be added in next release
New release! Stable v2.0
Changelog:
New icon by @fcaronte
Now you can use app without enabling widget, thanks @fcaronte
New option to save and restore your presets in settings
Now all activities are full screen (No titles in the app)
Full changelog here
Download it here
Guys, is it possible somehow to start this or other application, but in backgound have launched sport activity?
For example I'd like to do sth like this:
1. start normally "indoor fitness"
2. launch somehow AmazTimer v2.0 and make interval training
3. back to "indoor fitness", save and sync to amazfit app
but I don't know how to minimize sport app to have it in background and also how to call it back on top.
kabo9 said:
Guys, is it possible somehow to start this or other application, but in backgound have launched sport activity?
For example I'd like to do sth like this:
1. start normally "indoor fitness"
2. launch somehow AmazTimer v2.0 and make interval training
3. back to "indoor fitness", save and sync to amazfit app
but I don't know how to minimize sport app to have it in background and also how to call it back on top.
Click to expand...
Click to collapse
I think it's not possible without modifying sports system app
micrusa said:
I think it's not possible without modifying sports system app
Click to expand...
Click to collapse
Pity. Once I did it by coincidence . So, maybe it would be hint for developers . When I plug charger during training I saw watch face. I thought I lost training stats, but when I tried to open other sport my lost training came back to the top .
kabo9 said:
Pity. Once I did it by coincidence . So, maybe it would be hint for developers . When I plug charger during training I saw watch face. I thought I lost training stats, but when I tried to open other sport my lost training came back to the top .
Click to expand...
Click to collapse
There may be an easy way by replacing the custom button long press action (stratos has that with limited options but you can actually call any app)
GreatApo said:
There may be an easy way by replacing the custom button long press action (stratos has that with limited options but you can actually call any app)
Click to expand...
Click to collapse
I think I know how to do that, I'll try to do it later
would be great to have such option
micrusa said:
I think I know how to do that, I'll try to do it later
Click to expand...
Click to collapse
Code:
adb shell "settings put system long_key_settings '#Intent;launchFlags=0x10000000;component=me.micrusa.amaztimer/me.micrusa.amaztimer.AmazTimer;end'"
Works on Stratos.
GreatApo said:
Code:
adb shell "settings put system long_key_settings '#Intent;launchFlags=0x10000000;component=me.micrusa.amaztimer/me.micrusa.amaztimer.AmazTimer;end'"
Works on Stratos.
Click to expand...
Click to collapse
Thanks, I think I'll add that method for stratos and for pace I'll add an option to wait 1 minute before starting timer
micrusa said:
Thanks, I think I'll add that method for stratos and for pace I'll add an option to wait 1 minute before starting timer
Click to expand...
Click to collapse
I have almost finished adding it for your app in amazmod too. Test it before you start codding because you may be able to launch an app only from main screen.
GreatApo said:
I have almost finished adding it for your app in amazmod too. Test it before you start codding because you may be able to launch an app only from main screen.
Click to expand...
Click to collapse
I can't test it, I just have a pace in hybrid rom and long_key_settings is null
micrusa said:
I can't test it, I just have a pace in hybrid rom and long_key_settings is null
Click to expand...
Click to collapse
I just tested entering in an activity and it quick app launch doesn't work.
Introduction
Google's Wear OS lacks many things from competitors... One of these is a Barometer-Altimeter application. So why not building one by getting the inspiration from the best one out in the market?
Read the instructions before installation!
Demonstration
App Screenshots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Tile Screenshot
Tour of the app (gif)
Features
Barometer:
● Real-time pressure display digital
● Real-time pressure red hand indicator
● Graph for the past 6 hours
● Pressure trend over the past 6 hours
● Background collecting of pressure
● Notification for possible storms
Altimeter:
● Real-time altitude display digital
● Real-time altitude red hand indicator
● Graph for the past 6 hours
● Auto calibration of altitude based on weather data
● Manual calibration
TILE:
● Thanks to the Unofficial Tile API: Tile showing pressure and altitude!
Settings:
● Enable / disable storm alert
● Enable / disable automatic calibration of altitude
● Set manual altitude
● Metric / imperial units
● Advanced settings
Installation instructions
● Only supports Wear OS, not standard Android
● Android version must be 8.0+
0 - If any previous version in installed, go to "Settings" > "Apps & Notifications" > "App info" > "Alti-Barometer" > "App Info" > "Clear data" > Confirm
1 - Download the latest .apk file
2 - Install the .apk with adb (tutorial on the third post)
3 - Start the app
4 - Grant the Location permission (optional but recommended, if you want the automatic calibration)
Done!
Update instructions
If you want to update this app to a newer version, uninstall the old version and then install the latest using ADB!
Detailed info about the app
Every 5 minutes a the app will get the pressure from the sensor and store the data.
The weather notification is sent if 4 hPa are dropped in the past three hours.
The trend seen in the barometer is calculated in the past 6 hours.
For the first 6 hours the trend is going to be inaccurate because it doesn't have real data to compare.
Altitude is measured using the barometric formula, considering standard the pressure of 1013.25 hPa.
Issues
Automatic calibration not working on Samsung watches. I don't have a watch to test and I can't fix this bug unfortunally.
Download
Changelog
1.11
● Changed the app UI to make it different from the original app
● Added "Advanced Settings"...
... and that's a secret
1.14
● Added manual calibration
● Fixed a bug involving calibration
1.15
● Added fully customisable units
Auto calibration of altitude - explanation of the physics
I think this is cool to share
Air pressure depends on your altitude, but since air pressure changes normally, the readings are not accurate if the instrument is not correctly calibrated.
Manual calibration can be done... but it's just not practical! Automatic calibration is instead much better.
Let's start with the barometric formula:
Ph = P0 × e^(-α × h)
with constant α = (M × g) / (R × T)
The app gets your location, then finds thanks to the weather API the pressure P0 at sea level.
Once found P0, I can substitute it in the same formula to finally find the actual calibrated altitude
h = ln(Ph / P0) / - α
Ph is now the reading from the sensor and h is the current altitude
The calibration of the altitude highly depends on how accurate are the weather forecast provided...
From my testing I had a +- 10 m which is considerably good, but it depends from place to place.
ADB Tutorial
1) You will need to install ADB drivers to your computer. Suggested tutorial --> [OFFICIAL][TOOL][WINDOWS] ADB, Fastboot and Drivers - 15 seconds ADB Installer v1.4.3 | XDA Developers Forums (xda-developers.com)
Assuming you are using Windows, you should find a folder named "adb" inside the C drive with some files in it.
2) Place inside this folder the apk you want to install.
3) Enable "USB Debugging" on the device you want to install the apk on. This setting is hidden inside the "Developer Settings", that you can enable by pressing 7 times on the "Build Number" under "Device Info". There are many videos that show this.
4) Open the command prompt inside the "adb" folder. To do so using Windows, just press Shift + Right Click of the mouse and then select "Open PowerShell Window".
5) Connect your smartwatch to the PC with the usb cable.
6) On the PowerShell type "adb devices" without quotes and confirm with enter. Make sure the android device shows a message.
7) On the device press "Allow always" (or something like that).
8) On the PowerShell type "adb install Alti-Barometer1.15.apk" without quotes and confirm with enter.
DONE!
Suunto 7 ( Display resolution 454 x 454)
First install not test but Thanks for now. ( beautiful UI )
tom.android said:
Suunto 7 ( Display resolution 454 x 454)
First install not test but Thanks for now. ( beautiful UI )
Click to expand...
Click to collapse
Thank you so much! I'd appreciate a little review here in the comments after you test it so I know if there are some areas that can be improved
Especially the thing i'm most concerned is battery life so if you find problems you know what to do!
New update
● Fixed a minor bug involving a predefined value where for the first three hours of app running, no notification would display
● The altitude graph only displays rounded integers numbers, now is much clearer (no more spikes)
● Fixed a bug involving calibration
To update it is recommended to follow the procedure described in the original post
calugj said:
● Added tile! But for now it's just a static image representing how it will look like when finished....
Click to expand...
Click to collapse
Can shows get lococation access icon (status) and beep sound in Altimeter and Tile page ?
Thanks
tom.android said:
Can shows get lococation access icon (status) and beep sound in Altimeter and Tile page ?
Thanks
Click to expand...
Click to collapse
This project's purpose is to replicate almost identically both in terms of UI and functionality the Samsung Alti-barometer app, which is preinstalled on Samsung smartwatches.
This is the app I'm talking about -> https://galaxystore.samsung.com/geardetail/com.samsung.alti-barometer
I don't understand what you mean by beep sound (what's the beep for?) and location icon (you mean that the app should display an icon when it gets the location?), especially because I don't think the original app has these features.
Final Update
The latest update features a new UI for the tile.
calugj said:
The latest update features a new UI for the tile.
Click to expand...
Click to collapse
Thanks for your work, Can we access the app from tile and the full app can keep alive (not close itself till we close it.)
from my Suunto 7
and the last quest why altitude num from tile not the same as app itself. (from my picture --3m & --1m)
tom.android said:
Thanks for your work, Can we access the app from tile and the full app can keep alive (not close itself till we close it.)
from my Suunto 7
and the last quest why altitude num from tile not the same as app itself. (from my picture --3m & --1m)
Click to expand...
Click to collapse
1) Click on tile added
2) I managed to fix that.
NOTE: Your issue might also be related to always on. If you have always on disabled, after some seconds the display will lock. With this fix, if you turn your wrist (or click a button, or touch the screen), the app will return visible instead of showing the clock.
If you have always on enabled... No issues either because always on is supported and the app will keep open.
3) That's because the tile does not show real time data, while the app does.
This app collects data in the background every five minutes. This data serves for: pressure trend, notification alert and graphs. The value you see in the altimeter and barometer page are instead real time data, polled and computed instantly.
The tile shows the last collected data from the background service so what you see in the tile is at worst five minutes old.
It's not beneficial for battery life to have high refresh rate tiles... and for that there's the application!
Why v1.7 is not calibrated? please help. (After installed 24 hrs.) THANKS
tom.android said:
Why v1.7 is not calibrated? please help. (After installed 24 hrs.) THANKS
Click to expand...
Click to collapse
This is strange cause I didn't change anything on the background service from last update.
If you followed the installation instructions from original post I'll suggest try checking again these things:
1) Go to "Settings" > "Apps & Notifications" > "App info" > "Alti-Barometer" > "Permissions" and make sure that "Location" is enabled
2) watch has to be connected to the internet, it doesn't matter if through WiFi, through 4G or trough your phone's bluetooth (so no airplane mode)
3) watch's location can depend on phone's location. Try checking if both are active in the settings (but I assume they both are because it worked for you yesterday)
4) as a last step I'll suggest to reboot... Most of the times that solves any issues
Keep in mind calibration is set every 4 hours so if one of these actually solved your problem you'll notice it after some time!
If it still doesn't work let me know because it is strange
Storm Warning Notification is OK.
we have 7 day Weather Forecast, During 3 – 5 Aug, people in the whole country should beware of severe conditions and stay tuned for the weather update. All ships should proceed with caution and should keep ashore including keeping away from thundershower bra bra bra...
and I 've trid to clean new installation hope auto calibration work again.
Altitude is not calibrated, does not calibrate at all, location permission is on, maps work, but altimeter says calibrated never.
Ticwatch Pro LTE
LaurisLT said:
Altitude is not calibrated, does not calibrate at all, location permission is on, maps work, but altimeter says calibrated never.
Ticwatch Pro LTE
Click to expand...
Click to collapse
I'll definitely have to check what's going on... However one thing that bothers me is that from the weather provider portal I can see that today were made 2 API requests... So somebody has this feature working. I'll dig more and update you if I find something. Also the fact that currently I don't have a phisical watch to test it apart from the emulator doesn't help
finally calibrated by V1.7 , after 4 hrs of Clean install . But don't known why minus altitude value.
tom.android said:
finally calibrated by V1.7 , after 4 hrs of Clean install . But don't known why minus altitude value.
Click to expand...
Click to collapse
Last calibrated was at 18:10 and the altitude +8 m should be more or less correct I guess. What happened in your case is that air pressure in your location increased as happens naturally during the day, tricking the altimeter to think that you went lower on altitude. Probably what's going to happen at 22:10 is a new calibration that should show accurate altitude. From my side I can't do anything about this, It has to do on how accurate the weather API are in your location and on how the pressure changes throughout the day. In days where air pressure is pretty stationary you won't notice it
Consider the altimeter value with a precision of 10 meters on raw value. Delta value (like if you want to measure how tall a building is) are precise instead!
News on the automatic calibration bug
I tested the app with the emulator and managed to fix that issue.
I'll try to explain what the problem was.
This app doesn't use real time GPS for location, it uses instead the so called "coarse location", that is based on cellular towers. The reasons are simple: the app doesn't need the metric precision given by the GPS, and "coarse location" is much less energy consuming.
Right after every reboot, the system location is a "null" value, meaning it is not usable for my app. At this stage the app couldn't calibrate the altimeter.
Then after approximately half an hour, the system location started giving usable values for the app and after that moment the calibration worked every single time.
So in conclusion, after a reboot, the app wants to calibrate the altimeter, but until the system location is not "null", it won't and there's no guarantee that the system will update it soon.
Solving this issue was pretty easy: I had to manually refresh the location right when needed.
Now it should work as expected.
By the way I moved the download link directly to xda attachments
At the time of the edit of this post I just reuploaded ver 1.8... I forgot to replace one thing I used on the debugging phase
I have found another bug. If the location takes a lot of time to be collected (which might happen), the background service will lock, showing a constant notification that is impossible to dismiss... This is not a normal behaviour and I will make a fix hoping that it will be the last.
EDIT: Updated