I am in need of a very small app (just a few lines of code) to display a "toast" message in the active window.
I have the milestone, and made some mods on it, and using the hw keyboard i made shortcuts to execute functions and i would like to display a status from the scripts, and so far it only works with Beanshell(Android Scripting Environment), but the window popup is simply to annoying. so if somebody can make the toast command in a java app, and add the, i think, intent call function so i can execute this using "am" from shell script.
Yes, i know, i could probably do it myself, but i am no good at the "I-went-to-the boat->on my cycle->using my legs" object oriented programming thingy..
If anybody can help me out, any help is appreciated...
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
run it through command line using the following:
am start -a android.intent.action.MAIN -e message mytoastmessage -n com.rja.utility/.ShowToast
whatever is passed in for the 'message' is displayed in a long toast.
if nothing is passed a toast saying such is displayed.
Let me know if this works for you.
corruptor64 said:
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
run it through command line using the following:
am start -a android.intent.action.MAIN -e message mytoastmessage -n com.rja.utility/.ShowToast
whatever is passed in for the 'message' is displayed in a long toast.
if nothing is passed a toast saying such is displayed.
Let me know if this works for you.
Click to expand...
Click to collapse
Hmm cant get it to work can you write a example script and upload plz thanks.
ngagephone said:
Hmm cant get it to work can you write a example script and upload plz thanks.
Click to expand...
Click to collapse
Ok it works now is there any chance you can reupload your app but make the icon from the app drawer gone you can do this by removing <category android:name="android.intent.category.LAUNCHER" /> from the manifest file thanks in advance.
ngagephone said:
Ok it works now is there any chance you can reupload your app but make the icon from the app drawer gone you can do this by removing <category android:name="android.intent.category.LAUNCHER" /> from the manifest file thanks in advance.
Click to expand...
Click to collapse
Good call on removing the icon from the drawer. It really doesn't belong there for this type of application.
corruptor64 said:
Good call on removing the icon from the drawer. It really doesn't belong there for this type of application.
Click to expand...
Click to collapse
Thanks will give it a go cheers.
Ok just tested works good this will be nice for my custom rom for displaying msg from my scripts thanks.
Sent from my Pulse Mini using XDA App
I edited the original reply and added a signed apk for the no drawer icon version.
The original version will expire in a year and will not be able to be installed after that since it was signed using debug certs which are valid for a year after the apk was created.
Download the latest one and use that. Glad i could help.
cool, can you guys make one to play a sound? or is their a script or line of code that will play a sound? I made a few scripts to download/install a boot animation but i cant figure out how to notify once its done, thats what im going for. as of right now it just reboots the phone when its done.
corruptor64 said:
I was interested in looking into this to help my growth of android, so gave it a shot.
This is an app that starts, displays the input message, then exits.
Click to expand...
Click to collapse
thanks alot! it already sounds like it works for others.. this is a very nice idea for giving status backs in customs, so its worth alot for modders somehow, when the java is not a knowledge you have
ill test it tomorrow and see how it works out.
corruptor64 said:
I edited the original reply and added a signed apk for the no drawer icon version.
The original version will expire in a year and will not be able to be installed after that since it was signed using debug certs which are valid for a year after the apk was created.
Click to expand...
Click to collapse
resigning when making new mods is less a problem, than coding it
im sure it'll work out in the end...
Damn i think i spoke to soon it works fine via the adb shell it shows the msg i made on the phone but if i try to run it in terminal emulator on the phone it does not work. Any ideas? if any one has it working via terminal emulator do you mind uploading a sample script?
ngagephone said:
Damn i think i spoke to soon it works fine via the adb shell it shows the msg i made on the phone but if i try to run it in terminal emulator on the phone it does not work. Any ideas? if any one has it working via terminal emulator do you mind uploading a sample script?
Click to expand...
Click to collapse
It works through adb shell for me and using Terminal Emulator app on my phone. I copy and pasted the following in terminal emulator on my phone and it showed a toast as expected.
am start -a android.intent.action.MAIN -e message 'this is the displayed text in a toast' -n com.rja.utility/.ShowToast
I don't do scripting so can't help there, sorry. Hopefully someone else can provide you the script you need. From my perspective i think everything is good. Let me know if you find out otherwise.
Good Luck!
Hmm it does work the problem i had is i was making the scripts in windows using notepad++ and i have noticed if i open the script on android i have blocks at the ends of each line. I have had this problem in linux when doing scripts via windows. Any way its not a problem with your app so thanks.
ngagephone said:
Hmm it does work the problem i had is i was making the scripts in windows using notepad++ and i have noticed if i open the script on android i have blocks at the ends of each line. I have had this problem in linux when doing scripts via windows. Any way its not a problem with your app so thanks.
Click to expand...
Click to collapse
UltraEdit rulez!
foxdog66 said:
cool, can you guys make one to play a sound? or is their a script or line of code that will play a sound? I made a few scripts to download/install a boot animation but i cant figure out how to notify once its done, thats what im going for. as of right now it just reboots the phone when its done.
Click to expand...
Click to collapse
Per this request, I made an app that plays a specified sound stream for the duration requested. It does not force a specific sound, but plays whatever sound is set for the type at the time.
/*
* Example run command:
* am start -a android.intent.action.MAIN -e raisevolume 'true' -e soundduration '8000' -e soundtype 1 -n com.rja.utilities/.PlaySound
*
* Program Options and valid values:
* Not passing in a flag is the same as passing false.
* raisevolume - boolean that forces the sound to be played.
* - sets sound mode to normal and raises volume to max - after sound is played, resets mode and volume to previous values
* soundtype - number to indicate type of sound to play
* - Valid Values:
* - 0 - ringtone
* - 1 - notification
* - 2 - alarm
* soundduration 8000 -- if nothing is passed default is 4000. This is the duration the sound is played.
*/
Please let me know if you have any questions or problems with it.
right on! thanks dude! ill give it a go and let you know how it works
Two years ago I was in need of a simple notification tool that could have been run by a command line in a script.
So far the best I found was this thread and the tiny app made by corruptor64.
That wasn't exactly what I was looking for so I finally decided to try to make the tool by myself.
Starting from scratch (I am not an Android developer) in a few days of studying and developing I ended up with a working small app, that I named Notify4Scripts and I made it public only this past June, here on GitHub
https://github.com/halnovemila/Notify4Scripts
Note that since the app is basically a service that has to be launched by the Android's shell "am" (activity manager) command, the Android system needs to be rooted first in order to be able to use such am command and have notify4scripts executed.
halnovemila said:
Two years ago I was in need of a simple notification tool...
Click to expand...
Click to collapse
Could you please write an intent to open a directory given as a variable when I tap notification. I want to use it with clamav daemon running on my phone so that I can open the directory containing infected file when I get the notification. Please note that directory can be out of $EXTERNAL_STORAGE e.g. /data/data/ which is only accessible with root privileges.
Can the notification be multi lined or expandable with "b_noicon 0" so that complete path and virus name is visible before opening the directory?
Thanks for this great tool.
mirfatif said:
Could you please write an intent to open a directory given as a variable when I tap notification. I want to use it with clamav daemon running on my phone so that I can open the directory containing infected file when I get the notification. Please note that directory can be out of $EXTERNAL_STORAGE e.g. /data/data/ which is only accessible with root privileges.
Can the notification be multi lined or expandable with "b_noicon 0" so that complete path and virus name is visible before opening the directory?
Thanks for this great tool.
Click to expand...
Click to collapse
Hi,
the intent depends on the app you are willing to use to "open" the target folder.
If you are willing to use a terminal emulator app you can look at the many example I've wrote on the wiki available at the GitHub page of my tiny project (here's the direct link to the wiki https://github.com/halnovemila/Notify4Scripts/wiki ).
In such examples I illustrate how to call the terminal emulator app and have commands passed to it for execution.
If you'd like to use other apps, like a file explorer app, then you need to know the proper intent for that app.
The "easy" way is to make a home screen shortcut of the app opening a folder, then locate the Launcher app database, open it and read the intent used for the shortcut (that's how I found out all the intent used in the examples).
When the notification layout is set to "Custom View" (which always is when b_noicon is set to 1) multi lines text content is possible (also with use of \n new line escape code in the text) but it's not "expandable". You can adjust the content text size and remove the title line (with str_title "") to gain more room and be able to fit longer text on the notification box.
Hope this helps
Related
Moved to Beta
Stepping Closer to Perfection
Ello,
Been messing with this for a bit now and think I have a decent set of instructions organized for getting a vnc server (with resumable sessions) of your webtop in a pinch for those times you say "where the hell is a hdmi/dock/etc when I need one" its a little repetitive but simple as hell hopefully someone who knows more can set up the x server config to include this set up as a just in case.
Pre-recs
Of course Root!!
Full Native Ubuntu Webtop (Sogarths webtop2sd here)
Terminal Emulator (I recommend this one)
And vnc viewer something like really shouldn't matter.
And you'll need to fix your dependencies using this regardless of which mod so you wont have to worry about not being able to use apt to install things.
Any form of a custom dock not stock version e.g. xfce-panel, debain panel or genome otherwise you'll have no dock at all (I am working on getting a way around this for DebainMOD/stock dock users)
More Pre-recs DO THIS BEFORE ANYTHING!! WHY? because I rather that than I told you so XP
BACK YOUR SH%^T UP I recommend using the more expanded CWM Due to its backing up sd-ext and osh
Fun stuff:
Open Terminal Emulator
and enter the following minus (anything in)
su
(get root for term)
/usr/bin/sudo - u adas bash
(get into the webtop enviornment, can be used alot XD)
sudo bash
(gotta love root)
({or just} /usr/bin/sudo -u root bash {for easy way to root shell})
apt-get install tightvncserver
apt-get install lxde
or just
apt-get install tightvncserver lxde
(install a vnc server and a desk environment)
tightvncserver
(run before the config worked best for me it'll ask you to set up a password then ask if you would like to set up a view only password which I liked with this I used getvncstate for that one jic I wanted to see if it was running up to you really)
(now config the vnc display, this way was the least fubar'ed x display I managed to get working and repeated)
export USER=adas
vncserver -geometry 1024X800
(if you ran this before the previous set thats fine after you might see a localhost:2(ect) don't worry if you did this before first use you'll be asked to enter a password. once set enter the next line by line)
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
(then hit ctrl-d twice then enter should get you out, that is pretty much where you select what you want to have started in your root environment in vnc if you don't want stock dock or the webtop panel remove them lxsession starts xfce if you used that you can also add gnome -session or panel which ever)
(now to fix known keyboard mapping issue for 9.04 from root terminal in webtop run)
apt-get install nano
nano /root/.vnc/xstartup
(add the line {export XKL_XMODMAP_DISABLE=1} before /etc/X11/Xsession or gnome-session or if you have another way of adding this that'll do)
(use gedit to do this on one of my atrix's webtops was sooo much easier XO)
(now hit the home key and open up your vnc viewer on your phone)
The drop down should be newconnection
Nickname: adas (or whatever I use root)
Password: (the password you set up if you dont remember then...try below steps for reconnect)
Address:localhost
port: 5901 (5902 worked too x.x idkw)
(the press the connect button XD Always exit your vnc connection before leaving it!!!!)
(This should not fubar your x display for hdmi/dock/etc but did notice that on the first run re plugging the hdmi loaded the moto screen with a black screen though rebooted it went fine though the vnc server needed to be reset so...
Get to webtop root through the terminal emulator and run...)
tightvncserver
(you'll be promoted to set up another password, once done you can go back and use the vnc view settings you had before and get back in do what you need and exit and you will beable to plug in too hdmi/doc/etc without loading up a completely grey screen with the nice useless x courser XP)
Now the really fun part kicking myself that I didnt realize this shortly after setting this up, but you got this vnc server running on your webtop but you really arn't big on messing with the tiny screen while your on a wifi and you have access to a computer or even your pluged into a computer and have moto phone portal open on it.... well haha just download a vnc viewer get your IP address (from network or the phone portal ip) on the network and plug
(the x's are your IP numbers being that every network might be different you get the diffrent)
XXX.XXX.XXX.XXX:5901
as the target address and you be asked to enter a password that you set up and note that the 01 in the port suffix is indeed the display number.
And bamn easy access to your webtop on your Atrix while your chilling and using your TV for what every you watch XP
Any suggestions changes or better how to's post your stuff and Ill add it with quotes this will not work in any of the Debian mods Images/Including Blacktrack 5 (v.v) due to not being able to load the linux app from the command line Tho will work on the DebainMOD/ w apt sources fixed. I'm looking into getting into chroot after I finish up my tweaks from a fresh test run.
Known Half Way Marks: Use Seamonkey Browser to replace firefox while using vnc sessions. The sessions are in root user which is fine for the pinch use, but if you wanna resume what you were using on the webtop from vnc veiwer in hdmi and vica versa I need some one to look at the commands and see where it is I marked up above where I think it is the grey part x.x will update this part think I'm closing in on a solution to this, and it would reflect what you see on the hdmi and be shared XD
Known pita: Screen time out..... kills the tightvncserver display as well >,>
For now the most recommended use guide can be found here you don't necessarily have to plug into the HDMI of the initial launch if you follow the steps above, although not the intended direction mostly the safest if you follow these steps being that currently without X or Xvnc being configured you may very well mess with your HDMI at display at DISPLAY=:1 being that the vnc method at this point exports the root environment only the method below is safe and would do XP
See this for the direction of vnc without use of a dual boot within chroot still needs messing with as mentioned above back your Sh%^t up X3
fernandoavc said:
I've finally made it work the way I wanted but it probably not the best or easiest way to do it...
1-)First I plugged in my HDMI cable over my phone and my tv and got Webtop V1 running.
2-)From lxterm I issued the command 'sudo bash backtop' (this is very well explainned over this thread)
3-)Once I got the terminal from BT running then I issued the 'ui' command that is a vncserver built-in into backtrack5 ARM distro and with the default password of 123456789 (you can change it by issuing 'vncpasswd' command if you want..)
4-) Now you can unplug the HDMI cable if you want.
5-) And you are ready to connect at the gnome version of Backtrack from your cell phone using any of the vnc clients available on the Market with no need of the HDMI anymore...
Concerns:
1-)How about battery life after that? will it be drained since bt is running "in the background" ?
I didn't tested yet... and have no idea atm... will let it running here to see if it get warmer than normal or the battery last shorter (of course it will not last longer...)
2-) Is there a way to run this commands without the HDMI cable plugged-in?
If anyone interested (or even you Djazin) want to see some directions/hints there is a thread written by an X10 owner that have some scripts to be used at the phone terminal, the X10 doesnt have the webtop (duh)... not sure how useful it is for us but maybe the scripts he wrote can be used....
As we were discussing before in this thread if I try to run the command " sudo bash backtop" it gives a lot of errors from mount points unreacheable to DISPLAY problems... I will post the errors here just in case any one reading have some good ideas to contribute:
{
"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"
}
See the screenshot of my phone running smootly the BT5 distro:
And here is the script from the thread mentioned on the step 2 - I just renamed it to .txt but it's a bash script:
backtop.txt
Click to expand...
Click to collapse
Click to expand...
Click to collapse
This looks really interesting. I'm not able to test right now, but I wonder how come this one didn't get more views/replies until now.
Anyway, thanks OP for sharing, I'll test it ASAP.
Thanks for the guide!
Just wondering something... what if we have a way to run the webtop without a dock/lapdock then put some kind of vnc server and through the phone itself (with a vnc client for android) to access it as a remote computer..... Am I tripping?
fernandoavc said:
Just wondering something... what if we have a way to run the webtop without a dock/lapdock then put some kind of vnc server and through the phone itself (with a vnc client for android) to access it as a remote computer..... Am I tripping?
Click to expand...
Click to collapse
The Webtop runs alongside the phone as it is you can get to its shell through a terminal emulator (I installed all of this through terminal emulator on the android side) and run tightvncserver after setting this up and access webtop through a vnc client on the phone screen.... now if you mean to access the webtop's vnc server from a local remote computer work/home over the network then... heh that would take alot of config within tightvncserver probably with a parallel program like xauthority configured to run the vnc server with a lan address 192.168.x.x and so forth how to do that Im not sure I thought about it earlier this morning but atm Im trying to get backtop working x.x
as for tightvncserver options run
toghtvncserver -h
Though atm there is no vnc server working on the atrix android side
Djazin said:
The Webtop runs alongside the phone as it is you can get to its shell through a terminal emulator (I installed all of this through terminal emulator on the android side) and run tightvncserver after setting this up and access webtop through a vnc client on the phone screen.... now if you mean to access the webtop's vnc server from a local remote computer work/home over the network then... heh that would take alot of config within tightvncserver probably with a parallel program like xauthority configured to run the vnc server with a lan address 192.168.x.x and so forth how to do that Im not sure I thought about it earlier this morning but atm Im trying to get backtop working x.x
as for tightvncserver options run
toghtvncserver -h
Though atm there is no vnc server working on the atrix android side
Click to expand...
Click to collapse
Oh I will try that... but I am not sure how to run webtob without plug anything on it (such HDMI over tv or lapdock) ... may I just issue the startx command over a terminal? do the xterm works if I issue it through a connectbot or something? Do you suggest something else?
I actually want it because of the Backtop (my backtop is working fine but I need to run it with sudo bash backtop command thats why I want to vncview it ...) may I help you somehow?
can you clarify what does this actually do...does this mean i can vnc from my actual phone to the webtop on my phone screen?
or can i use this to access webtop from my vnc client say on a laptop on the same wifi network...
humzat said:
can you clarify what does this actually do...does this mean i can vnc from my actual phone to the webtop on my phone screen?
or can i use this to access webtop from my vnc client say on a laptop on the same wifi network...
Click to expand...
Click to collapse
first one, yes you can!!! using this guide XD
Second needs tweaking but in theory I don't see why it wouldn't I'm working on getting backtop without any form of the Debian mod then Ill get back to that.
fernandoavc said:
Oh I will try that... but I am not sure how to run webtob without plug anything on it (such HDMI over tv or lapdock) ... may I just issue the startx command over a terminal? do the xterm works if I issue it through a connectbot or something? Do you suggest something else?
I actually want it because of the Backtop (my backtop is working fine but I need to run it with sudo bash backtop command thats why I want to vncview it ...) may I help you somehow?
Click to expand...
Click to collapse
its easy from terminal emulator run the following without (anything in)
su
(get root)
(then run)
/usr/bin/sudo -u adas bash
(or just)
/usr/bin/sudo -u root bash
(Thats all)
and your in webtop with no hdmi/gui from here you can infact install vncserver using the steps above or just run commands without accessing the gui now xterm needs a gui exported display of "any" kind because it is mostly like a vm there was a way once you got up up and running you can access from command line only but I'ma have to dig for that within the Debain Mod posts I used to get it done when I was using them, but I cant for the life of me recall.
If you can post how you were able to get Backtop to work in that thread for it it might help I got the same output that one user posted in page 3 of that thread.
Djazin said:
first one, yes you can!!! using this guide XD
Second needs tweaking but in theory I don't see why it wouldn't I'm working on getting backtop without any form of the Debian mod then Ill get back to that.
Click to expand...
Click to collapse
How? I can see through 'ps' command that xinit is running .... but how to issue a vncserver command or something?
My backtop runs through that webtopmod from Joe version one and the bt img on the /sdcard/bt folder including the scripts backtop and stopbacktop .... Are you planning something different from that?
Sorry all the dumb questions I did... just read the OP and saw everything I need.. now I am researching about to change the 10.77.32.150 address from sources.list that I actually have on my /osh/etc/apt folder... to be able to install the tightvncserver... Will post my results .. ty for the post Djazin
fernandoavc said:
How? I can see through 'ps' command that xinit is running .... but how to issue a vncserver command or something?
My backtop runs through that webtopmod from Joe version one and the bt img on the /sdcard/bt folder including the scripts backtop and stopbacktop .... Are you planning something different from that?
Sorry all the dumb questions I did... just read the OP and saw everything I need.. now I am researching about to change the 10.77.32.150 address from sources.list that I actually have on my /osh/etc/apt folder... to be able to install the tightvncserver... Will post my results .. ty for the post Djazin
Click to expand...
Click to collapse
The webtopscripts run well with most webtop mods they are here should allow you to install tightvncserver without problems
Adding to OP as a pre-rec
Djazin said:
The webtopscripts run well with most webtop mods they are here should allow you to install tightvncserver without problems
Adding to OP as a pre-rec
Click to expand...
Click to collapse
Nice hint man I finally did the apt-get to work and installed the tightvncserver! Now I just need to make it works openning a valid xwindow ( actually it is openning the xwindow with nothing but the crosshair)
But so far thank you for all your help!!!
Sent from my MB860 using XDA App
fernandoavc said:
Nice hint man I finally did the apt-get to work and installed the tightvncserver! Now I just need to make it works openning a valid xwindow ( actually it is openning the xwindow with nothing but the crosshair)
But so far thank you for all your help!!!
Sent from my MB860 using XDA App
Click to expand...
Click to collapse
is the x window grey or is it showing a the webtop background with no dock, if its the first you need to run the cat > /root/.vnc/xstartup command and add the text below it from the op or you will cause the vncserver to export the x server settings bare which at this point is a pita to set up for the adas user environment though root exports fine atm I updated the code group under the cat command try them from root in which ever webtop terminal you prefer to use, I'm actually doing this from a stock webtop again to check it out that and I wanted my Debian mods back so I can try to set up vncserver for them as well.
Last night I was messing with the webtop's x server and found a more native vnc server built into the very x server that supports hdmi we possibly might be able to get vnc server to export the hdmi display as soon as I figure out where to put the shar display commands for vnc access but for now this seems to work fine in the root environment and its safer than what I was trying last night hehe I switched the hdmi cable display with the root environment that was accessed through vnc but no key pad so it was interesting to see, thought it didn't survive my tinkering.
fernandoavc said:
Nice hint man I finally did the apt-get to work and installed the tightvncserver! Now I just need to make it works openning a valid xwindow ( actually it is openning the xwindow with nothing but the crosshair)
But so far thank you for all your help!!!
Sent from my MB860 using XDA App
Click to expand...
Click to collapse
Recreated that problem you were having go to /root/.vnc and delete your current xstartup file then from terminal run
tightvncserver -kill :1
tightvncserver
and you should be set
Sent from my MB860 using XDA Premium App
Djazin said:
Recreated that problem you were having go to /root/.vnc and delete your current xstartup file then from terminal run
tightvncserver -kill :1
tightvncserver
and you should be set
Sent from my MB860 using XDA Premium App
Click to expand...
Click to collapse
Hey sorry the delay in response but I did the cat step and also the kill but still getting the grey screen with no xterm just the crosshair ...
Sent from my MB860 using XDA App
fernandoavc said:
Hey sorry the delay in response but I did the cat step and also the kill but still getting the grey screen with no xterm just the crosshair ...
Sent from my MB860 using XDA App
Click to expand...
Click to collapse
run the kill command then in root explorer kill xstartup in /root/.vncserver then run tightvncserver and it should load the mouse and a grey screen and then it'll load the root desktop just after that (give it a few seconds). if not reboot and try it all again.
UPDATED OP check out the bottom section
Djazin said:
run the kill command then in root explorer kill xstartup in /root/.vncserver then run tightvncserver and it should load the mouse and a grey screen and then it'll load the root desktop just after that (give it a few seconds). if not reboot and try it all again.
UPDATED OP check out the bottom section
Click to expand...
Click to collapse
Even doing the commands
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
I am still getting the grey screen with nothing but a crosshair mouse pointer.... instead of lxsession can I use something else?
Edit: figured it out
fernandoavc said:
Even doing the commands
cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession
I am still getting the grey screen with nothing but a crosshair mouse pointer.... instead of lxsession can I use something else?
Click to expand...
Click to collapse
Post your config your version of webtopmods's active what your osh-wrt-1 and 2 sh files are set with and What dock are you using as well as the settings your using in the vnc viewer, I'ma try to recreate your set up on another Atrix I have and see if I can crack what your problem with the root environment is.
Note if your just using the AWN dock try something else, though even with no dock it should at least load the stock wallpaper with the mouse cruiser. And you did delete the xstartup file found in /root/.vnc and not try to recreate one?
Djazin said:
Post your config your version of webtopmods's active what your osh-wrt-1 and 2 sh files are set with and What dock are you using as well as the settings your using in the vnc viewer, I'ma try to recreate your set up on another Atrix I have and see if I can crack what your problem with the root environment is.
Note if your just using the AWN dock try something else, though even with no dock it should at least load the stock wallpaper with the mouse cruiser. And you did delete the xstartup file found in /root/.vnc and not try to recreate one?
Click to expand...
Click to collapse
Well my webtopmod is Joe Ferreira v1 and I've installed the webtop2sd from Sorgarth... about the wrt-osh 1 and 2 I'm gonna need to know how to get them to you... I 've some linux knowledge so just tell me where they are... My vnc I am connecting at the port the server is telling me (i.e: localhost:1 - 5901).
I'm not using Any dock at all... nothing connected through the hdmi port....
I'd deleted the xstartup and when I run the tightvncserver it was recreated with different values from what u suggested ... it recreate the following content:
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
/etc/X11/Xsession
By my knowledge in linux and vnc I am suspecting that it's not being able to load the icewm xwindow...
Sent from my MB860 using XDA App
After I used terminal emulator with the pm disable function to disable both Gamecircle apps,Amazon Video,Photos (screensaver usage),and the Amazon AppStore,and resetting with ctrl+alt+del,I found a nice little surprise in the apps tab on the Home screen.
When I went to the Apps section,the list of all my installed apps appeared on the right!
When selecting them,they open immediately,but I can't long press to view the details of an app.
However,since they are still in the settings menu as well,I can still view the details from there.
The only issue with it is that it is a little buggy with scrolling through apps.
You can figure out the com-names using 7zipper 2.0 to view the advanced "details" of your apps.
To get the names to disable the same apps I did, change 7zipper's app list to system mode.
Info for people who really hate resource hogs:KFTV Launcher is currently using 80.59MB according to memory booster!
It probably has something to do with each menu selection loading dozens of images and information and sub-apps that seem to have no individual apps for selecting to disable.
So rbox,when you feel the Home Menu MOD is stable enough,please let me know when you release it for xposed.
retroben said:
After I used terminal emulator with the pm disable function to disable both Gamecircle apps,Amazon Video,Photos (screensaver usage),and the Amazon AppStore,and resetting with ctrl+alt+del,I found a nice little surprise in the apps tab on the Home screen.
When I went to the Apps section,the list of all my installed apps appeared on the right!
When selecting them,they open immediately,but I can't long press to view the details of an app.
However,since they are still in the settings menu as well,I can still view the details from there.
The only issue with it is that it is a little buggy with scrolling through apps.
You can figure out the com-names using 7zipper 2.0 to view the advanced "details" of your apps.
To get the names to disable the same apps I did, change 7zipper's app list to system mode.
Info for people who really hate resource hogs:KFTV Launcher is currently using 80.59MB according to memory booster!
It probably has something to do with each menu selection loading dozens of images and information and sub-apps that seem to have no individual apps for selecting to disable.
So rbox,when you feel the Home Menu MOD is stable enough,please let me know when you release it for xposed.
Click to expand...
Click to collapse
This has been known for some time. I think you found the secret that I hadn't been able to figure out; I bet it was disabling the Amazon Appstore. From what I remember, the initial reports were that sideloading the Appstore from Android caused this to happen. The code I haven't been able to find yet, must check for the Appstore and it's not there or the wrong one, it falls back to this grid view. At one point I was working on a mod that exposed (get it... cuz I use Xposed... haha) a similar, but less buggy grid. I may go back to working on that.
As for the menu mod, I just got the UI done for selecting which items should be visible, and I'm just working on the saving/loading of the preferences and getting the menu to reload after it's been changed.
What all did you disable and do you have the disable code you ran?
cybertlc said:
What all did you disable and do you have the disable code you ran?
Click to expand...
Click to collapse
pm disable "com.amazon.venezia"
Note this breaks Netflix completely.
Does disabling Photos and Gamecircle break Netflix as well? What are the package names for those 2?
Download and install "Package Name Viewer" : https://play.google.com/store/apps/details?id=com.gijoon.pkgnameviewer&hl=en
Or if you already have 7Zipper 2.0,you can view the names in the applications section in the details option via longpressing an app.
7Zipper 2.0 is the only well-known app that can extract 7z files on Android.
That's time consuming to do it for every app...Package Viewer does only what it says, shows you the com.xxxx.xxx name for installed packages.
I get a "Failed to connect to dumb state service killed" error when using the pm disable command
Any ideas
Stevie G said:
I get a "Failed to connect to dumb state service killed" error when using the pm disable command
Any ideas
Click to expand...
Click to collapse
How did you get to that point? The easiest is to run 'adb shell', then 'su' and verify you have the # prompt and it should work.
rbox said:
How did you get to that point? The easiest is to run 'adb shell', then 'su' and verify you have the # prompt and it should work.
Click to expand...
Click to collapse
We'll I did not type that.what is the correct way of typing it out adb shell su com.amazon.avod
Stevie G said:
We'll I did not type that.what is the correct way of typing it out adb shell su com.amazon.avod
Click to expand...
Click to collapse
1. adb shell
2. su
3. pm disable com.amazon.avod
lightning413 said:
1. adb shell
2. su
3. pm disable com.amazon.avod
Click to expand...
Click to collapse
Thanks bud
Press enter after every part.
1a. adb shell
1b. Press Enter
2a. su
2b. Press Enter
3a. pm disable name.of.app (some begin with org instead of com)
3b. Obviously press Enter,unless you changed your mind.
Does anyone have a list of what can safely be disabled without interfering with other features/apps/functions? I want to keep my Netflix/Pandora fully functional (but could care less about games).
cybertlc said:
Does anyone have a list of what can safely be disabled without interfering with other features/apps/functions? I want to keep my Netflix/Pandora fully functional (but could care less about games).
Click to expand...
Click to collapse
Why do you feel like you have to disable anything?
rbox said:
Why do you feel like you have to disable anything?
Click to expand...
Click to collapse
I'm assuming there are things that can be disabled to use less resources.
cybertlc said:
I'm assuming there are things that can be disabled to use less resources.
Click to expand...
Click to collapse
Not really. If you run ps from adb shell, there really isn't that much running that you'd be able to disable without completely break everything.
I find that Fire TV is actually not that bad about bloating apps when compared to the GS7 that got replaced by it.
The Sony NSZ-GS7 has some bloat apps like the TTS and most of the other ones I can't remember because none of them are on Fire TV.
Kernel Tuner:
I found out that the best performance governor for CPU is the Interactive governor.
And for I/O Schedular,the deadline mode is the fastest one.
This failed the wife acceptance test as it also causes issues with (but does not totally break) Pandora.
First of all I know that this title creates a lot of questions.
The problem is exactly what the title says.
While developing apps, you make mistakes (NullPointers etc)
They are thrown when the occur, normally.
Today, it's different, sometimes, when Android (Studio) feels like it wants to help me, it redirects the debugger to a class that is used to "crash" the app at an exception.
With the cool features of Android Studio, you are able to see the content of the strings during debugging. With that feature, I've been able to solve most of the problems.
But now, I ran into a problem that doesn't have the solution above.
When the app "crashes" the screen stays white, and nothing is outputted in any logcat.
All it says is
"D/AndroidRuntime: Shutting down VM"
Is this a bug in Android Studio or in Android?
Hello,
First of all make sure that you have the latest version of Android Studio.
When the app crashes is selected application above the logcat (there is a spinner which says you what app is being displayed, does it say 'com.yourpackagename'? or does it say 'No Application'?) If so I think there is a bug in Android Studio, I have faced it too several times. When your app crashes it force closes the app?
You can try these things:
Unplug your phone and plug it again and wait for a confirmation on the device's screen.
If the confirmation dialog is not showing up, while the device is connected via USB, go to the Settings and disable the USB debugging mod. Wait a few seconds and re-enable it. Wait for confirmation on the device. If still not shows. Close the Android Studio and repeat the above steps. Reopen the Android studio. Run your app, if still not getting logcat you can try getting it manually like this:
Go to the folder where adb is installed (Normally on Windows C:/Users/Username/Appdata/Android/sdk/platform-tools) via terminal with admin rights .
Run cmd.exe as admin, type:
cd ../../Users/Username/Appdata/Android/sdk/platform-tools (where Username is the username of your windows account.)
Type adb devices while your phone is connected via USB with debugging on
See if it says unauthorized, if not, you are good to proceed to the next step.
Type
adb logcat > mylogcat.txt
And quickly open your app to go to the app that causes the crash. Try to cause the bug. When the bug occurs press Ctrl+C
Now your logcat is in the mylogcat.txt within the same folder of adb.
If you need more help extracting the logcat via the above way (manually) let me know
Hmm, at the moment the crash occurs, the app freezes and stays white. Only the main thread though. I've checked the logcat in Android Studio, the app is my app, and the doesn't really matter. It shows nothing.
No logcat not even with the cmd option.
Could it be that my custom rom is causing difficulties?
Thanks,
Tim
Try to place breakpoints in every line on your code. Try step by step to run the app line by line and where the execution flow jumps some lines of code that it shouldn't or stucks at a line of code whithout going to the next lines of code that it should, there should be the problem.
Are you doing intense work on the main thread? I had experienced an issue where I was doing heavy work on a view's onTouchListener and because the touch events were bottlenecking, my UI stuck, and on logcats I didn't got any error, but got a warning that the thread is shutting down due to the fact that the onTouchListener was busy to handle the touch event.
The best option and the most reliable you have now is to debug your app line by line as mentioned above. If it does not help, try commenting lines of code where you think you may be doing intense work or inside listeners and see if your app still crashes. Then uncomment blocks of code and run again and again to see until it crashes again. In the last block of code that you uncommented should be the error.
That way you can limit your search on these lines of code.
If you could further provide any detail of what are you doing in the main thread or any sample code, I will be able to help you further
I do not think that it is related with the custom rom, otherwise logcats would have some errors of missing packages etc
Well, using breakpoints I was redirected to the piece of code that is used to output exceptions. I didn't had a breakpoint there so I don't know why it went that deep. I'm doing heavy for with the runtime.exec command.
I've discovered the exception that was thrown when I posted this question, and the exception wasn't printed anywhere so I don't know why this isn't working. I was getting the java.lang.NumberFormatException exception. This will cause the app to crash, right?
If not how do I 'enable' that?
Thanks
If you are catching that exception the app will not crash. (try catch block). It may crash when any variable from that try catch block had that Number format exception, but when referencing it from outside the try-catch block.
Numberformat exception is occured when trying to convert String to Integers or a Number, and the string does not match the Integer format. E.g. Integer.parseInt("4.3") will throw that exception.
To enable the crashing of the app during that exception, do not catch that exception (NumberFormatException). If you are catching Exception (it is a superclass of NumberFormatException and is more general, it includes this exception too) then again your app will not crash.
If you are catching any of these exceptions, your app will not crash (may crash inside the catch or outside the try catch block)
Exception
RuntimeException
IllegalArgumentException
NumberFormatException
Possibly, a string conversion to Integer or Long or Double or Float may be causing your problem The errors are "silenced" due to the try-catch block Are you printing the exceptions with e.printStrackTrace in the first line of the catch block? (e is the Exception caught)
Hmm, I'll take a look at my code so check if I used a try and catch block.
Thanks!
It was the fault of Google Analytics, I had exception reporting on and that was causing the app to freeze instead of crashing and showing the exception.
Thanks!!
Remapping Android TV remote buttons
In this guide I will explain a way to remap to the shortcut buttons on the remotes of Android TV devices which cannot simply be remapped by e.g. Button Mapper.
I will use the Walmart Onn Box as example for this guide, but it should also work for devices like the Xiaomi Mi Box.
The general idea is to install an Android automation app which analyzes the system logs of you device and starts your desired apps when it sees the button press log messages.
Enabling ADB
To install the automation app and give it permissions it needs, you must enable developper mode on your Android TV device and connect to it from your computer.
Those two turorials should explain you how to do it:
https://www.xda-developers.com/how-to-sideload-apps-android-tv
https://www.xda-developers.com/install-adb-windows-macos-linux
Easy way to control your Android TV device
Since it is very cumbersome or impossible to do everything with the remote control I recommend to use ScrCpy.
This allows you to easily control your device from your computer using mouse and keyboard.
After installation you can connect to your device with adb and enter 'scrcpy' in your console. You should instantly see the screen of your TV on your computer.
Installing 'Automate'
The app I recommend for the automation is called 'Automate'. It is free, but sadly can't be directly installed from the app store on Android TV (because of compatibility).
To avoid this limitation you can download the APK from e.g. Apkmirror and install it manually via ADB.
adb install .\path\to\the\downloaded\apk\Automate_v1.32.6.apk
Click to expand...
Click to collapse
While you are at it you can also give the app some privileges which it needs later to read the system logs and to start the apps.
adb shell pm grant com.llamalab.automate android.permission.SYSTEM_ALERT_WINDOW
adb shell pm grant com.llamalab.automate android.permission.READ_LOGS
Click to expand...
Click to collapse
To start Automate you need a launcher that can see sideloaded apps. I recommend the X-plore File Manager since it's also a good file manager and can be easily installed from the app store.
( There are also other alternatives like 'Tasker' instead of 'Automate', but since that is not free and activation doesn't work properly on a sideloaded app I can't recommend that. )
Configuring 'Automate'
After starting Automate you can create a new 'flow'. The goal of that flow is to monitor the system logs, and start your desired apps everytime it sees a button press message.
That can be done mainly with a 'Log await' node that contains following configuration:
Tag: WindowManager
Message: .*interceptKeyTq keycode=(\d+).*
Priority: Debug
Logged message (array): keycode
Click to expand...
Click to collapse
You can then use "Expression true?" nodes to check for the found value in keycode (e.g. for the Live TV button) ...
Formula: =keycode[1] = "172"
Click to expand...
Click to collapse
... and start your desired app with "App start" nodes.
Package: com.google.android.tv
Click to expand...
Click to collapse
An example of a full flow can be found here: Remap Onn. Android TV remote buttons
Conclusion
After setting all this up the apps should start when you press the buttons.
However the original app (or its installation view) also starts before it, so if you press the back button you will return to that app instead of the previously running app. To avoid that just use the home button instead.
The Automate app will not automatically start if you reboot your Android TV device. If you want that you can activate that in the settings: 'Run on system startup'. But make sure that everything works perfectly before you do that!
If you get stuck in a loop where you can't use other apps and also can't open and configure Automate anymore, you can use this command via ADB to disable all flows:
adb shell am broadcast -a com.llamalab.automate.intent.action.STOP_FLOW -n com.llamalab.automate/.StartServiceReceiver
Click to expand...
Click to collapse
Double_A_92 said:
To start Automate you need a launcher that can see sideloaded apps.
Click to expand...
Click to collapse
As a one-off, in case you don't want to install another app, you can always run:
Code:
adb shell am start -n com.llamalab.automate/.FlowListActivity
KenMacD said:
As a one-off, in case you don't want to install another app, you can always run:
Code:
adb shell am start -n com.llamalab.automate/.FlowListActivity
Click to expand...
Click to collapse
I went to Settings > Apps > See all apps and then scrolled down and clicked 'Show system apps'. You can find Automate, and then click open to launch.
Thanks for your guide. Now my Xiaomi Stick 4K remotes Netflix, Prime Video and Patchwall buttons are changed to open other apps.
Can you make Automate flow work like Button Mapper having also double click and long press open different apps.
stapreedi said:
Can you make Automate flow work like Button Mapper having also double click and long press open different apps.
Click to expand...
Click to collapse
That's probably not possible, since this is a very janky way that relies only on the android system text logs. Maybe the double click could be done in some complicated way, but the long press definitely not.
Thank you for your reply.
I asked same thing at Reddit AutomateUser and Automate developer ballzak69 answered but he did not tell how to modify flow:
https://www.reddit.com/r/AutomateUser/comments/uo5c00
Your guide is popular:
https://www.reddit.com/r/MiBox/comments/uo1m4s
Thanks for Idea. I have acer remote with netflix, youtube, primevideo and tiki live button. How to find keycode for these button in my acer remote because given keycode don't works
omdhar said:
Thanks for Idea. I have acer remote with netflix, youtube, primevideo and tiki live button. How to find keycode for these button in my acer remote because given keycode don't works
Click to expand...
Click to collapse
Connect the output of the "Log await" with the "Toast show" node, and the output of that back into the "Log await". That will create a little message popup with the keycode everytime you press a button.
Double_A_92 said:
Connect the output of the "Log await" with the "Toast show" node, and the output of that back into the "Log await". That will create a little message popup with the keycode everytime you press a button.
Click to expand...
Click to collapse
Thanks. It will be great if you could share flow example to generate keycode in message popup. It will also help many other here too.
omdhar said:
Thanks. It will be great if you could share flow example to generate keycode in message popup. It will also help many other here too.
Click to expand...
Click to collapse
Download this file Remap Onn. Android TV remote buttons and do what Double_A_92 told. Use your tablet or phone to modify flow file because its easier. When you modify flow file on your tablet or phone then you have to use example Aida64 for app package names on your tv. Use Send files to TV for what app name says. You can do it from Automate apps share icon.
Hey, thanks for the detailed guide! i did everything (i think )but when i hit start its stuck on the “Log await” i used your shared flow cause i got the same box.
Any ideas?
harel013 said:
Hey, thanks for the detailed guide! i did everything (i think )but when i hit start its stuck on the “Log await” i used your shared flow cause i got the same box.
Any ideas?
Click to expand...
Click to collapse
Hmm weird. Try deleting the flow and download it again so you have a fresh copy.
Also make sure to configure which apps you want to start. In my shared flow they are just random apps that I had installed. Maybe that causes problems if they aren't actually installed on the system.
what is different between this way and others way like "Button Mapper" or tvQuickActions?
oldman20 said:
what is different between this way and others way like "Button Mapper" or tvQuickActions?
Click to expand...
Click to collapse
This is for devices where the vendor buttons are not even registered as button presses by the system. So if you tried to use ButtonMapper or other apps, it wound't let you select the button and instead always open the app written on the button.
But yeah, if ButtonMapper works for your device that's obviously a much better way of doing it.
Double_A_92 said:
This is for devices where the vendor buttons are not even registered as button presses by the system. So if you tried to use ButtonMapper or other apps, it wound't let you select the button and instead always open the app written on the button.
But yeah, if ButtonMapper works for your device that's obviously a much better way of doing it.
Click to expand...
Click to collapse
thank, it got it!
btw, can i ask this?
How to check succeeded in transforming tv box into an Android TV ? or just download app from Google Play without issue?
I have the entire thing written out and plugged in, the only issue im having now is "Syntax error in regexp pattern near index1" i cant figure out through google what im doing wrong.
NarkosNakan said:
I have the entire thing written out and plugged in, the only issue im having now is "Syntax error in regexp pattern near index1" i cant figure out through google what im doing wrong.
Click to expand...
Click to collapse
Make sure you really wrote
.*interceptKeyTq keycode=(\d+).*
With all the dots and asterisks....
Double_A_92 said:
Make sure you really wrote
.*interceptKeyTq keycode=(\d+).*
With all the dots and asterisks....
Click to expand...
Click to collapse
Thank you very much, i couldn't see the first period at all in the main post~
The last problem im having is finding key codes, i don't understand how we find those for the app.
NarkosNakan said:
The last problem im having is finding key codes, i don't understand how we find those for the app.
Click to expand...
Click to collapse
Connect the output of the "Log await" with the "Toast show" node, and the output of that back into the "Log await". That will create a little message popup with the keycode everytime you press a button.
Thread reboot begins in post #14: AIType Keyboard!
It was user @ALinkToTao who first acquainted me with Multiling Keyboard. I don't care much about the potential for other languages (and I think maybe the Hacker's Keyboard does a better job), but I do really like the secondary keyboard which gives access to the system paste buffer or clipboard. It's nearly impossible to find an application which will allow a long press on an item to copy it to the clipboard (the URL line in Opera Mini is a notable exception). I've found this very useful in moving from a text editor to, say, Tasker, or even Opera Mini. Anyway, the keyboard is not without issues.
The principal issue I would like to solve is the invisibility of key options on a long-press. For example, a long press of the "u" key should bring up the number "7" along with a variety of diacritical variations of "u". I've installed the keyboard on a small KitKat device and it does display properly, with a highlight rectangle that can be moved around before releasing and accepting the character. In that particular installation, the potential characters are displayed in a line, just like they "might" be if they were only visible. The background is always dark (as on the stock NST) and the character font is always white, regardless of the font color on the keyboard.
I've taken the app apart and inspected every xml reference to font colors. Changing them all to "black" or "white" depending on the theme (and even adding some) has had no effect. I have been able to change the background color of the rectangle which should show the key options, but that's it. The selection process does work, but it's blind.
Just to see if this is an e-ink thing, I installed the keyboard on the NST-CM11 ROM. I've shown side-by-side screenshots of the board on the stock ROM and the CM11 ROM. Although the configuration of the rectangle has changed for some reason, the function remains the same and clearly works on the CM11 ROM.
This leads me to suspect that this could be a framework issue. I hope not.
So, if anyone is interested in working on this with me, I'd really like the extra input. I've attached a copy of the (unaltered) apk.
If I had the know-how, I would help you. But I'm ignorant in these matters. Glad to hear that you're still at it. I still freaking love my Nook Simple Touch that you've helped me with. I've gifted dozens of those to my friends customized specifically for them. I still use that DesktopVisualizer app on my Atrix 4g and all my Nooks. Thank you brother.
ALinkToTao said:
If I had the know-how, I would help you. But I'm ignorant in these matters. Glad to hear that you're still at it. I still freaking love my Nook Simple Touch that you've helped me with. I've gifted dozens of those to my friends customized specifically for them. I still use that DesktopVisualizer app on my Atrix 4g and all my Nooks. Thank you brother.
Click to expand...
Click to collapse
Well, thank you for this keyboard which is nearly perfect for my use. Just this one niggling thing.
BTW, I finally worked out a way to make the RNMenu app user-customizable (within limits). If you still use it, you might want to take a look here.
Thanks I'll check that out, and yes I do use it!
Code:
C:\>adb install com.klye.ime.latin-1.apk
Performing Push Install
com.klye.ime.latin-1.apk: 1 file pushed, 0 skipped. 3.4 MB/s (949941 bytes in 0.265s)
pkg: /data/local/tmp/com.klye.ime.latin-1.apk
Failure [INSTALL_FAILED_INVALID_APK]
W/PackageManager( 809): Native ABI mismatch from package file
You might need to rename lib/armeabi to lib/armeabi-v7a
Renate said:
Code:
C:\>adb install com.klye.ime.latin-1.apk
Performing Push Install
com.klye.ime.latin-1.apk: 1 file pushed, 0 skipped. 3.4 MB/s (949941 bytes in 0.265s)
pkg: /data/local/tmp/com.klye.ime.latin-1.apk
Failure [INSTALL_FAILED_INVALID_APK]
W/PackageManager( 809): Native ABI mismatch from package file
You might need to rename lib/armeabi to lib/armeabi-v7a
Click to expand...
Click to collapse
Huh. I'll try that tomorrow morning. Thanks!
Renate said:
Code:
C:\>adb install com.klye.ime.latin-1.apk
Performing Push Install
com.klye.ime.latin-1.apk: 1 file pushed, 0 skipped. 3.4 MB/s (949941 bytes in 0.265s)
pkg: /data/local/tmp/com.klye.ime.latin-1.apk
Failure [INSTALL_FAILED_INVALID_APK]
W/PackageManager( 809): Native ABI mismatch from package file
You might need to rename lib/armeabi to lib/armeabi-v7a
Click to expand...
Click to collapse
That was interesting. I've actually never tried installing this as a user app. I've always just copied the apk file into /system/app and rebooted. There, it behaves just as you would expect a keyboard app to except for this annoying display issue.
It won't install on the original NST as a user app. Via ADB it gives the error you show above, with or without lib/armbei renamed to lib/armbei-v7a.
If I try to install via file manager it warns that another version already exists on the device (it doesn't) and then the installation fails.
So that's not the way to address this problem--but it is interesting.
Edit: oh, and if I rename the lib sub-folder and then place the apk file in /system/app as I normally would, it is ignored.
nmyshkin said:
with or without lib/armbei renamed to lib/armbei-v7a.
Click to expand...
Click to collapse
Spelling counts: armeabi-v7a
Work-in-progress (named "ThemeSpy")
Code:
01010036 android:attr/textColorPrimary -> 01060001 android:color/primary_text_dark -> "res/color/primary_text_dark.xml"
01010037 android:attr/textColorPrimaryDisableOnly -> 01060040 android:color/primary_text_dark_disable_only -> "res/color/primary_text_dark_disable_only.xml"
01010038 android:attr/textColorSecondary -> 01060005 android:color/secondary_text_dark -> "res/color/secondary_text_dark.xml"
01010039 android:attr/textColorPrimaryInverse -> 01060003 android:color/primary_text_light -> "res/color/primary_text_light.xml"
0101003a android:attr/textColorSecondaryInverse -> 01060007 android:color/secondary_text_light -> "res/color/secondary_text_light.xml"
0101003b android:attr/textColorPrimaryNoDisable -> 01060002 android:color/primary_text_dark_nodisable -> "res/color/primary_text_dark_nodisable.xml"
0101003c android:attr/textColorSecondaryNoDisable -> 01060006 android:color/secondary_text_dark_nodisable -> "res/color/secondary_text_dark_nodisable.xml"
0101003d android:attr/textColorPrimaryInverseNoDisable -> 01060004 android:color/primary_text_light_nodisable -> "res/color/primary_text_light_nodisable.xml"
0101003e android:attr/textColorSecondaryInverseNoDisable -> 01060008 android:color/secondary_text_light_nodisable -> "res/color/secondary_text_light_nodisable.xml"
0101003f android:attr/textColorHintInverse -> 01060032 android:color/hint_foreground_light -> #ff555555
Renate said:
Spelling counts: armeabi-v7a
Click to expand...
Click to collapse
Oh my...I hope I didn't do something that stupid
I'll check tomorrow morning...
Renate said:
Spelling counts: armeabi-v7a
Click to expand...
Click to collapse
Yes, it does, but I'm apparently more careful when working with Apktool than when typing a post. I had the change right in the app, but it is not recognized by the NST as a system app and will not install as a user app.
I've searched for other potential mentions of "armeabi" elsewhere in the app just to be sure something didn't have to be changed to be consistent, but there were none.
Square one.
Edit: it just gets weirder. I located three previous versions of the app. None will install as user apps, always claiming they will replace an existing app (there is none) and then failing to install. Placed in /system/app instead, they are ignored. Only version 1.1.7 behaves as a system app on the NST (but will not install as a user app). So it's this version or none I guess.
I'm wondering if this version (1.1.7) has not already been modified by someone. @ALinkToTao, do you remember where you got this version?
Ah. Something, maybe a thread to tug on.
There are a couple of T9/compact keyboard modes. On the first of these, a long-press shows the sort of thing that ought to appear on the standard keyboard with a long-press. See screenshot below.
So the thing is doable on the device, but for some reason it's not working on the full-size keyboard.
Time to look at the xml again...
If it doesn't install normally you'll have to show the logcat why.
My NST has props:
Code:
[ro.product.cpu.abi]: [armeabi-v7a]
My contemporary (but cheap) cellphone has props:
Code:
[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
My Onyx Poke3 has props:
Code:
[ro.product.cpu.abi]: [arm64-v8a]
[ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: [arm64-v8a]
Renate said:
If it doesn't install normally you'll have to show the logcat why.
Click to expand...
Click to collapse
Yours has props, mine has peeps (but only me).
This is one for the Journal of Irreproducible Results. I think I see part of the crazy message source now. I deleted the apk file from /system/app, removed the folder for the app from /data/data and removed the dalvik-cache entry for the app. Then I tried to install the app again as a user app, following the logcat. I saw no errors but a lot of shuffling around of stuff. I forgot that the package manager and i guess packages.xml would retain information of previous installations, so it all became sort of a mush.
But I did see in logcat that it was sorting out the change from a system app to a user app. It did not complain about the armaebi business but did remark on it. And it installed.
Next I did what all the old threads about keyboards say to do. I moved the apk file from /data/app to /system/app, fixed the permissions and rebooted. The app showed up in the drawer and functioned as before--sadly.
But.
I believe I have something better. Time for a thread reboot when I have more time.
"My child, the Duke of Plaza-Toro does not follow fashions--he leads them. He always leads everybody. When he was in the army he led his regiment. He occasionally led them into action. He invariably led them out of it."
--The Gondoliers
Time for a thread reboot!
Since the Multiling keyboard would not play nice with me, no matter what I tried to fix the issue with the long-press options display in the normal keyboard mode, my attentions began to wander. Somewhere in the dark recesses of the forum I found a reference to the AIType Keyboard app. I searched for an old copy, found it and began to test it out.
It has a more limited language range then the Multiling keyboard, but those other languages on the Multiling required an addon and the last time I tried to help someone with it, we could not get it to work. Also, there is no finger-tracing recognition (I'll really miss that!). I tried to track down a few language plugins for the AIType Keyboard, but the ones I found refused to install (Arabic, for example). As it is, it works fine with languages using a Latin or modified Latin alphabet, Greek, Korean (surprise), and languages using Cyrillic. Much of that probably has to do with what the NST can support. "Download" invitations in the initial part of Settings do not work. The app contains a custom certificate which I'm sure has long-since expired. I also suspect the language addons are not actually free, so even if you track down an old one, it's not going to work.
I could not figure out the "prediction" stuff (possibly because I don't care about it), so I won't say it does not work. The app can even read your text in the edit mode using TTS.
And yes, the long-press options work on all the keys in all the modes!
Also there are many different keyboard styles to choose and you can change the colors of many things. Alas the color changing is done with the typical graphical picker. While a hex value for the selection is shown immediately after it is chosen, if you take a peek at the preferences.xml file, the colors have been obfuscated for some reason. They look like signed twos complement. Don't get me started.
Anyway....I played around trying to get something clean, resembling the stock keyboard. In the end when I had what I wanted I noticed that the navigation arrows in the edit keyboard were nearly invisible, being white on a white background with just a ghostly outline. I therefore altered those few images to make them gray. No other changes (except the signature, of course) have been made. See screenshots below for what I came up with.
If you like the looks of what I did or want to use it as a point of departure, see the spoiler that follows. If you would rather have the original, un-modded app and work with it yourself, you can download it from here.
To install and use, just treat this as a user app. It can figure out what to do. If you decide you don't like it, uninstalling will give you back the stock keyboard.
Spoiler: Reproducing my settings
In order to use the provided xml file that will make the keyboard look like it does in the screenshots, you need to be able to control which keyboard the NST is using. Nook Color Tools can access the Android Input chooser, but you should not fool around with other stuff in there. Some things can cause a spontaneous factory re-image from which there is no escape (I speak from experience). Safer would be my Nook Settings app (shameless plug) which has an Input option in the System section.
Here's the sequence:
1. Install the AIType Keyboard app.
2. Tap on the app icon and allow the app to access the Input chooser. You select the new keyboard and "Finish" at the bottom of the screen. This should be sufficient to generate the xml file in /data/data/com.aitype.android/shared_prefs.
If you want to be sure, access the keyboard with something just for a bit.
3. Now bring up the Input chooser using the Nook Settings app or Nook Color Tools (I guess there is an ADB option too...). Select the stock keyboard.
4. Download and upzip the file containing the preferences xml file.
5. Copy this file into /data/data/com.aitype.android/shared_prefs, overwriting what is there. Permissions on the file should be rw-rw-r.
6. With the Input chooser, select the AIType Keyboard and you're good to go!
Edit: 7-30-22--Ah, nagware. You gotta hate it.... How to stop the "limited time only" nuisance that comes up too often when the keyboard opens? I played around with this awhile and discovered that a likely setting in the xml preferences file I attached seemed to do the trick. I changed a date to some time in 2025 and no more nags. After that, well, I'll just change it again. I've updated the zip in the downloads, but if you have already made settings changes and don't want to start over, you can do this yourself. Look for this line in the xml file:
Code:
<long name="next_expiration_reminder" value="1657490536337" />
Your actual value (extended date time format) may be a little different, but what you want to do is change the second digit to a "7" so the line looks like this:
Code:
<long name="next_expiration_reminder" value="1757490536337" />
You should do this by copying out the file, making the change and then copying back over the original file.