[Q] Android Studio Tutorial Problem -- ActionBar Lesson - Android Studio

I'm having a problem in the Android Studio tutorial. I keep getting stuck in the action bar lesson and I think it has something to do with having to use the appcompat library (that's referred to in xml as xmlns:yourapp="hxxp://schemas.android.com/apk/res-auto" -- right? -- and disregard the "xx" in the url which should be "tt")
As I understand it, you DO NOT have to use appcompat if your minSdkVersion="11" (or greater) and in my code I have it set as 11 in manifest.xml and it shows as 11 in build.gradle. So I shouldn't have to use appcompat -- right?
Symptom: I don't see any of the items in the action bar that I coded in the xml (and I followed the tutorial exactly -- I think.)
Clue: I see a red line under the showAsAction attribute of <item /> if I specify the newer Android xml namespace (not the appcompat library I mentioned above). If I specify the appcompat namespace I don't get the red line indicating a problem but the items still don't show on the action bar.
I tried to keep this post as brief as possible so I've left a lot of stuff out. I can post some code if that will help.
I wonder if anyone else has had this problem. There must be a lot of people using the AS tutorial.
Thanks in advance for any help or suggestions.

Wish I could help you more specifically but I suggest going to Slidenerd's Material Design playlist on YouTube. I followed the first few of these tutorials in succession and was able to get a functioning action bar.

Related

WP7 Novosti RSS Reader

I have read some book about Silverlight and learn some basic stuff and made my first application with visual studio, it is called WP7 Novosti because i write a blog about Windows Phone 7 in Bosna i Hercegovina. "Novosti" is "News" in our language. The app is in the stadium that it can call the rss from the blog, display summary of posts, and display entire posts if you tap on them. It has a "Category" page where are the categories i used on the blog, linked all to labels on the blog, to if you tap on a category it display you only blog posts of a specific label.i would like to have some tester of my app, because it is in the early stadium of development.
my blog site is: http://wp7novosti.blogspot.com
and in the attachment is the .xap of the latest version, so if you like, test it and give me some feedback or errors i hope it causes any errors!
The app is in Bosnian language so just try it, navigate thru sites and try it, and if you like give me feedback.
I have made some modifications to the reader now, The live tile is not a transparent one and your accent is behind the logo of "WP7 Novosti". The second visible modification is a refresh feed button on top of every page where feeds are loaded. If out of some reason the Feed don't load in 1 sec or 2. press the refresh button.
The third modification is on the category page, the tiles are better aligned than on the first. that's visible on the pictures.
The 4th. modification is the trimmer which trims the text is now a bit better and don't trim the title of the feed.
5th modification is some coding about when what is loaded. the code is some slimmer than before, a bit smoother. but still no big improvements to change the version, still version 1.2.
So if some tester tested the app please give me feedback, what should be made. and if somebody has some nice tutorials, or books or so about live tiles, how to made them active, background agents for the live tile. and so on, but in depth material, because i'am new to coding and need more info than other developers.
I had a couple of random crashes with the Categories page - tapping the tile would just exit the app. The other issue I have is the color of the selected news item - red text on blue background is always a bad idea. Unreadable.
Apart from that, I really like the app. And now I have one more blog to follow
Hvala and for the red color the accent color is used for selected items. i look today the code again, but the new version i out in a few days, and i have now a dreamspark account and wait for the verification as a student, then the app will be official on the marketplace. Thx for testing, i had this issue on the category page too, it will be fixed soon.
and version 1.3
new stuff:
- transition effects between pages
- tilt effect on feeds
- new live tile icon with transparent background for use with your own accent color
- the clock and the other icons are there again (on the system bar on the top)
- smaller refresh button on the "Sve novosti" page
- progress bar on every page that loads something (just for you to know if something is happening in the background)
- fixed bug with exiting on taping on one of the categories, still you can produce a similar "error" if you tap on a category than fast tap back button, that will exit the app. This is because transition of pages, the app thinks the transition is the start page and exits like from the first page.
- fixed some code in the background and added some code for the next version to come (with background agent that downloads feeds in background and so on...)
i hope you like it!
If you click on the news item in All news (version 1.3 of the app), it will be opened in the browser and when you click the Back button to return to the app, the news item will be selected (the color is much better now, thanks)- but if you decide to read it again, it's not clickable. You need to select some other news (to unselect it), and only then will respond to taps.
Keep up the good work!
i noticed that too the first day i wrote this app. and i dont know how to fix that. the only solution is to display the posts in the app without internet explorer. But in the app would the post be a "ripped down" version of the blog post, only text, and maybe pictures if i found out how to include them...
Maybe if you override OnNavigatedTo, catch when you return from IE and clear the selection in the news list. The last item wouldn't be highlighted, but it should be clickable.
I noticed something else - the news list doesn't resize itself in the landscape mode (stays the same width as in portrait mode), so almost half of the screen is left empty.
The Yawning Dragon said:
Maybe if you override OnNavigatedTo, catch when you return from IE and clear the selection in the news list. The last item wouldn't be highlighted, but it should be clickable.
I noticed something else - the news list doesn't resize itself in the landscape mode (stays the same width as in portrait mode), so almost half of the screen is left empty.
Click to expand...
Click to collapse
Thanks for the answer, the landscape mode was only a test i don't know how i forgot this to remove before the build of the .xap but i will implement it in the next version. i yesterday get my AppHub account and submitted my app, so it will be an official app in the marketplace soon. after that i will post an update on some thing like the selected after the browser and landscape...
Thank you very much for testing!!!
I still wait for my App to show up in the marketplace it is still in the certification process, it is signed and encrypted but how long does certification process take? i have managed to make the app a bit faster and more responsive, and added some new stuff like from @The Yawning Dragon indicated, the already selected feeds will be selective in the next update, i also moved some code from the UI off to make it responsive but i'm a newbee and that not enough. i will learn how to make an background agent and how to store all feed in a database and then to call it when the app starts or when the listbox appears... there is so much to learn
WP7 Novosti app v.1.3 is now out in the Marketplace. it is now in a few marketplaces but in the next hours it will be in all of them. thru the marketplace app on our phones it is not there but on this link. i sent already an update for some bug fixes, and improvements (v.1.4) it is verified and encrypted, we wait for certification and testing and publishing would be in the next week or so.
http://www.windowsphone.com/de-DE/apps/415b7543-ccfe-4b8f-aad6-d10ce9ba5aea
or via zune on our phones ->
http://www.windowsphone.com/s?appid=415b7543-ccfe-4b8f-aad6-d10ce9ba5aea
Thanks
LogiBird said:
Thanks
Click to expand...
Click to collapse
thank you!
version 1.5 will be out soon, with a new Start screen Tile because the first one doesnt fit in the color sheme of my blog. added some metro background to the Tile, and prepared some code for future releases.
good
i like that
derpeter1982 said:
i like that
Click to expand...
Click to collapse
Thank a lot! an update is live in the marketplace now. i changed the live tile, and some other stuff behind the scenes. and i've changed the marketplace artwork but it has not updated to the new, i dont know why...

[Q] [Help req.] Notification dropdown mods - are these possible?

I'm trying to modfiy my notification dropdown area a bit, and I'm wondering if we have the following functionalities available on our Xperia's - I'm on V, but I'm guessing T and variants should be similar.
The first one would be to add a brightness slider. I based the code on a section from my Galaxy S2's status_bar_expanded.xml and the slider itself shows up, slides back and forth and whatnot, but doesn't actually affect the brightness level. There is a "brightness" id in res/values/ids.xml, which is referenced in the code in status_bar_expanded.xml, but like I said, nothing happens when using the slider. Any suggestions to get this to work?
The other thing that I wanted to try to emulate from my S2 is the way ongoing notifications are separated from "swipeable" notifications. Each gets its own section, separated by headers, with ongoing items such as music player controls on top and then normal, user-clearable items underneath. From digging around a bit in SystemUI, it seems like Xperia is more or less without this functionality and I'm probably out of luck, but I thought I would ask anyway.
Thanks in advance!!
I would be very interested in that brightness slider.
It's one thing to make the slider show by editing xml, in order to make it work you would also need the code for the function, i.e. smali. Not sure if that's as easy to port but there are SystemUI mods for other Xperia's, like serajr's that also have this.
Sent from my LT30p using xda app-developers app
TiMiN8R said:
It's one thing to make the slider show by editing xml, in order to make it work you would also need the code for the function, i.e. smali. Not sure if that's as easy to port but there are SystemUI mods for other Xperia's, like serajr's that also have this.
Sent from my LT30p using xda app-developers app
Click to expand...
Click to collapse
Huh, I wasn't expecting this thread to come back to life, lol.
There is a resource id called "brightness" in SystemUI's public.xml which I called to when I edited status_bar_expanded.xml (and this was with ICS). Now that this thread has popped back up I finally got around to looking at it again, and it looks like that id goes to SystemUI\smali\com\android\systemui\statusbar\tablet\SettingsView.smali. There's no equivalent file in statusbar\phone. I'm basically non-functional when it comes to smali, and it seems to be more than a simple matter of splicing a section of code from one place to another, so I guess I'm off the case for the time being.

Hacking notifications

So I've figured out how to get things to display in Gear notification settings. However I think there must still be something missing as notifications still aren't being sent to watch (or atleast not when sending to myself with a quick close of app and turn off of screen)
There are xml files in /data/data/com.samsung.android.app.watchmanager/files
notification_result.xml
notification_result_for_sending.xml
app.png
I have a attached png and xml files that will show snapchat in the list. (png is just a copy of another png already in there)
There is also an xml in /data/data/com.samsung.accessory.sanotiprovider/shared_prefs/Notification_Settings.xml but it looks like it updates dynamically
Or perhaps I'm barking up the wrong tree...
Look at the sticky and talk to sephiroth. Perhaps you can help the progress.

[GUIDE] Locating hidden values, random dialogs and hardcodes (AOSP/TW/Sense/XH)

Introduction
Remember a time when an unthemed popup popped up in an app, and you tried all that you could to change the colors of it, then found out it wasn't even in the app you spent hours on at the first place? Damn right I do!!! Wasted so much of my youth looking for things in the wrong place.
In this guide I will be going over a desktop application called "Android Device Monitor", and how to use it for theming. This program is not bound to theming, as it can help many ROM developers like locating a CP'd commit and forgot where to set a textColor was set in a dialog. For example: https://github.com/TeamBliss-LP/and...mmit/4f85ee62ab0db9d2a78b1bfeee32dfa17313e215.
The guide will also outline other methods to locate hardcoded colors on most apps, and this is not bounded by device. This will theoretically work on any device running Android, as long as you enable USB debugging on your device. So it should theoretically work on TouchWiz, AOSP, CM, Sense, LG Home, XperiaHome, etc...
Most importantly, if your friend comes over with a non-rooted phone, fret not, this DOES NOT require root. So! If you happen to stumble here from a link I requested you to follow, I'll assume you're either a themer, or you're a user of a theme. For users, this guide would be used to aid the themer when the themer does not have access to what you are seeing in an app due to differences in software/region bound software/firmware versions/custom ROMs. For themers, I hav known about this trick for a while but haven't gotten the time to write it - but this saves me precious time solving "unsolvable" issues, like during the days when we didn't have Setting's dashboard exposed (before the January 27th commit).
To understand how this works, we have to understand how Android system works. We can change many colors through colors.xml, but styles, layouts and java can also change colors. We have to remember this structure. Left is greater than the corresponding right.
Java > Layout > Styles > Colors
In this guide, I will be focusing on using ADM to locate colors/usages of resources within Layouts, thus allowing you to locate things within styles/colors.
ATTENTION
This guide is NOT 100% guaranteed.
As many third party apps like Google+ designs it's layout through the java, and the overall code of the application. Using Android Device Monitor, it is the first steps of beginning to theme.
This guide is meant to be a STARTING GROUND when you face any issue. I cannot guarantee any success, but this has helped me find out whether many things are hardcoded or not. So having this as a utility will greatly help a lot of people new to theming!
I also do NOT have access to a TW/Sense/LG Home/XH device, so if you have any issues (non-connection issues) with using ADM to trace your screen, please tell me. But theoretically, this should work on any device.
What is Android Device Monitor?
Android Device Monitor is a desktop application that traces the running programs of your device connected to your PC. You can use this to debug as it shows many useful information.
But for this guide, I will use it to show how to use it to take a screenshot XML dump of your phone's screen, and you can mouseover the elements of your screenshot on your screen to locate the layout of the app, or whatever is on your screen.
Wow! That sounds cool! How do I get it?
All you have to do is install the Android Studio package from Google, and you will get it preinstalled with it.
You can download Android Studio from this link: http://developer.android.com/sdk/index.html?gclid=CLWt6IX99MgCFRCpaQodrhwHng
Make sure you install the prerequisite packages once installing and setting up Android Studio. This includes the complete SDK.
If you would like to install just the SDK, that is possible too: https://developer.android.com/sdk/installing/index.html?pkg=tools
Make sure you install Android SDK Tools in the SDK Manager. Android Studio method is recommended as it comes with everything pre-installed once setting everything up.
Let's get started, shall we?
(*) Make sure you have installed adb/fastboot on your computer prior to continuing: http://forum.xda-developers.com/showthread.php?p=48915118
A great text editing tool is Notepad++, available here: https://notepad-plus-plus.org/
ON YOUR PHONE/TABLET
I will be using a Lollipop based CM ROM in this tutorial. Keep your device unplugged at this point.
First you have to enable Developer Options by going into About Device in Settings, then clicking the Build number 7 times. This enables Developer Options directly in the main menu of Settings.
Once activated, go into Developer Options
Scroll down until you see Android debugging, then activate that.
Plug your phone into the computer
At this point, a popup will appear on your device to verify the RSA fingerprint of your computer. Click Always Allow from this Computer.
ATTENTION: If you did not get a popup, adb is NOT installed correctly/your phone is not detected in ADB mode, or your computer does not have it set up properly. Follow my link above to get it set up quicker than using Android Studio's method. (*)
Once you agreed to the popup, then go to the screen where you want to see what the problem is. For example, you want to find out why there is a random white dialog when toggling GPS telling you to improve location accuracy.
Keep the screen turned on/turn on Stay Awake in Developer Options so it will keep your phone awake while plugged in. After this step, you have successfully finished using your phone.
ON YOUR COMPUTER
ATTENTION: If you already use Android Studio to build your theme, you can skip steps 2 and 3. Also to note, you can always use search and locate the "monitor.exe" file in your Android Studio directory, but that is too fussy, as it likes to error out a lot.
Open Android Studio, and create a new project, you need to Start a new Android Studio Project, follow all the steps till you click Finish.
You may or may not be greeted with a couple of popups, just dismiss them.
Once you get to a window with an available toolbar, click on Tools -> Android -> Android Device Monitor.
{
"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"
}
ATTENTION: If you're running Android Studio 1.4.1 and above, click on the icon in the toolbar.
On first launch you will get this popup, click Proceed
Your phone will appear on the left, including all the processes and background services running on your phone.
Click on your device, and click on the Dump View Hierarchy for UI Automator icon, an icon that should be next to the camera, with three stacked phones.
At this point, the computer will dump whatever is on your screen, if your screen is off, it will dump a black screen, so you should have kept it awake.
Once complete, you will want to hover over the unidentifiable object on your screen. So if the white dialog (as mentioned previously) when toggling location is a bother, we hover over the screen's focused dialog, and click on it. When selected, the area has a red rectangle.
You will then see a table on the bottom right identifying all its attributes. But most importantly, you will want to see that it is actually in package ID com.google.android.gms (Google Play Services), so you must invert that/theme that.
You can see how the table above told me that the package ID was com.google.android.gms, and thus I was able to go find it in the decompiled APK of Google Play Services.
Also to note, resource-id is also a great way to start, as it tells you the app's layout object ID, which allows you to find it within the app's res/layout folder by using Notepad++ and the Find in Files section. If by any chance, you get no information at all, you should check the structure of the app on the top right, and locate within layouts folder as well. For example, if you see a FrameLayout and textView x2, you have identified the structure of the activity fragment of the app, and it MAY help you for layouts.
In my commit at the beginning of this thread, I was locating an unthemed black text in a dialog, and found out that the dialog's resource-id was "dpi_edit", so I searched in res/layout using N++'s Find in Files tool and found out that it was in this file: https://github.com/TeamBliss-LP/and...13e215/res/layout/alert_dialog_text_entry.xml. So I made the change to the textColor and pushed the commit to the source. Thus allowing users to have a visible DPI text color, even though we expected that the ?attr should work.
Demonstration on how to reverse locate a specific color
Let's find something specific using this trace method, so for example, I would like to find the background of the switch bar in Settings. Pretend I don't know how. So following my above steps, I'm able to reach this:
We see that under resource-id in the Node Detail box, it says: com.android.settings:id/switch_bar -- so we should search for switch_bar under res/layouts of com.android.settings (your decompiled settings).....
We go into Notepad++, and use the Find in Files feature (Search -> Find in Files) and type in the resource-id after ":id/", which is "switch_bar"
Click Find All and wait for it to finish. Afterwards, you will get a list of results with a hit. In this case, we have one result.
Double click on the result, and you will be greeted with a layout XML with the ID. In the XML you will see that you have a bunch of stuff there, so with some smarts and some logic on the same line, you can see if the background is set to a hardcoded hex (hardcoded meaning there's a hex code there, as you can't modify layouts in CMTE, or is it rerouted to another color)
We can see that the background was linked to a color variable, "switchbar_background", now change that in com.android.settings/res/values/colors.xml, then you tell me if I'm correct If you see something else in there, or are a ROM developer and trying to expose some values, replace the hardcoded hex to a rerouted color in the corresponding app's colors.xml, and you have successfully exposed it!
Troubleshooting
Q: There is an error every time I launch ADM again! What should I do?
A: The error is normal, just press OK and proceed. (This error in spoiler, if any others, message below)
Q: I keep getting a permission error with my device when I click the button and it doesn't draw my screenshot!
A: This happens when your device is extremely "dirty", a complete clean flash is required. In my case, I fastbooted stock and reflashed my custom ROM. You can try wiping data, as the permissions lie somewhere there.
Q: I still can't get my theme to theme the hardcoded thing, help!
A: As I said, this doesn't work for all cases, this is only a starting and ending ground to see if it is themable. If you can't find out what to do, then chances are you did everything you can!
Q: Any other tips?
A: If you really can't find it, but you have a specific color you want to get rid of, try using Photoshop's Eyedropper tool to pick out the color from the screenshot, then use Notepad++ to search for this color. You should find the hex from the color by clicking the color palette.
Q: What about using backgroundTint?
A: You can use this to target many white hardcoded (definite) backgrounds by adding a backgroundTint attribute, but this may affect other things, like the Paste tooltip will take on this backgroundTint thus you can't read the "Paste" text. But definitely, this is a great way to start targeting white backgrounds!
Q: I have more questions!
A: Post in the thread and tag me using @nicholaschum, I'm more likely to check if I get a notification.
XDA:DevDB Information
[GUIDE] Locating hidden values, random dialogs and hardcodes (AOSP/TW/Sense/XH), Theme for all devices (see above for details)
Contributors
nicholaschum
Version Information
Status: Stable
Created 2015-11-03
Last Updated 2015-11-06
Reserved
Reserved
Thanks.
Sent from my GT-I9100 using XDA Free mobile app
I always get a black screen on my PC. How can I solve it? My phone screen is always on.
Thank you for the guide.
starbucks2010 said:
I always get a black screen on my PC. How can I solve it? My phone screen is always on.
Thank you for the guide.
Click to expand...
Click to collapse
Hmm, that's a bit strange, because black screen is mainly when your screen is off, are you seeing the background processes of the app on the left of ADM?
Solved. Actually, I have to have the screen on in the moment I start to take the "screenshot" of my phone. It's ok now.
I'm still looking for that white contact detail background ...
PS. Do you know what it means class = android.widget.RelativeLayout ? It doesn't give too much details so I don't know where should I search for it?
Thank you.
starbucks2010 said:
Solved. Actually, I have to have the screen on in the moment I start to take the "screenshot" of my phone. It's ok now.
I'm still looking for that white contact detail background ...
PS. Do you know what it means class = android.widget.RelativeLayout ? It doesn't give too much details so I don't know where should I search for it?
Thank you.
Click to expand...
Click to collapse
That means that the layout is using a RelativeLayout. It's a type of layout configuration. You should use N++ to see if you can find that RelativeLayout, as not all xmls have that layout.
Sent from my Xperia Z3 Tablet Compact LTE using Tapatalk
Thank you, great guide!
For themers, this is the best guide and most useful, ever. It should be a sticky.
Thank you very much Nicolas.
Well, in the new version of Android Studio, there's no option for UI, Only Camera / Print, and other Monitor related options.
abo hani said:
Well, in the new version of Android Studio, there's no option for UI, Only Camera / Print, and other Monitor related options.
Click to expand...
Click to collapse
I'll take a look at this, I might make a standalone package if this is the case.
@abo hani, updated the guide with Android Studio 1.4.1 instructions to locate ADM. Once ADM launched, it works exactly the same way now.
Thank you so much. This is a perfect tool for somebody like me trying to catch up to all the great themers on here. At least I can help myself and ask better questions.
Thank you for this guide
Do you have any tips on how to make a transparent background transparent instead of grey? I have changed backgrounds edited pngs edited styles and manifests and still get a grey box on the light option
rickberg said:
Do you have any tips on how to make a transparent background transparent instead of grey? I have changed backgrounds edited pngs edited styles and manifests and still get a grey box on the light option
Click to expand...
Click to collapse
If a transparent background is already transparent, why are you changing it to grey? What changes are you making?
I worded that wrong im trying to make the apk transparent but it will not go transparent it goes to a grey i added Theme.Translucent to styles and manifest also changed background hexes on light to 00000000
Anyone knows from where is taken the color of the text in the search box? Is taken from the app itself of from somewhere else (SystemUI, framework, etc)? It drives me crazy this search text from SecGallery. Is always black on black.
Thank you.
nicholaschum said:
If a transparent background is already transparent, why are you changing it to grey? What changes are you making?
Click to expand...
Click to collapse
This is the color i get as background even though everythong is set to transparent
Sent from my SM-N920P using Tapatalk

[APP][NST/G] NST Weather Widget

2-25-23: Updated to version 1.6 Uninstall any previous version..
-cleaned up some obsolete code
-fixed potential infinite loop when update fails
-new issues related to processing incomplete weather data fixed
NST Weather Widget is a Tasker-generated app that runs in concert with Minimalistic Text to produce a true home screen widget displaying the current (forecast) weather in your locale as provided by OpenWeatherMap. The code for the weather is based on my NST Weather app with a few tweaks and without the status bar temperature/condition display. Because you build the widget yourself you can customize to suit yourself (within the parameters I have supplied).
Requirements
0. Root
1. If you previously installed NSTWeather (the status bar app), remove it completely, including the NSTWeather folder on the sdcard.
2. This is a Tasker-generated app. If you already have one of my other Tasker-generated apps or have previously installed GApps, you don't need the two Google maps library files included in the zip and can delete them. If you do need them, copy the two files into the locations shown below:
/system/etc/permissions/com.google.android.maps.xml
/system/framework/com.google.android.maps.jar
Set permissions for both files to rw-r--r-- and reboot. Without these files resident, the app will not install.
3. Copy the folder "NSTWeather" and its contents from the zip below to the root of your sdcard. This contains all the condition icons for the forecast panel and is where the weather.xml file from OWM will be stored.
4. Go to https://openweathermap.org/ and find the current weather for your locale. When this is displayed you will also see the "geocoordinates" (i.e., the latitude and longitude). Copy these two values.
Edit: I have three devices and on one of them the coordinates given by OWM always result in a town about a 100 miles up the coast. This is the same data used successfully by the other two devices! What finally worked for me was to go here: https://www.maps.ie/coordinates.html and enter my full home address. The coordinates were quite a bit different but worked perfectly.
5. Go to https://openweathermap.org/api and sign up for a free API (right there in the opening paragraph, click on the words "sign up"). You will eventually receive an email with the API.
6. Install Minimalistic Text (attached below). Installation and setup are tricky on the NST. There seem to be permission issues which are not entirely resolvable. What I ended up doing was installing a copy on a KitKat device and copying out two of the xml preferences files from the /data/data/de.devmil.minimalitext/shared_prefs. But this is not consistent and finally I decided to put together a flashable CWM zip of a working installation. That's what's below. Copy this onto your CWM sdcard, boot up CWM and install the zip. Reboot and your Minimalistic Text is good to go. No CWM card? Head over to here and make a card from either of the two sdcard versions. I have also modded the version of Minimalistic Text in the zip file so that widgets you create are visible in the opening screen of the app (as opposed to a black screen...).
7. Copy the Font folder (and its contents) from the zip below to your sdcard. The customized TrueType font of weather condition icons resides in this folder and you can add additional custom fonts for Minimalistic Text to access in the same folder.
Installation and Use
You MUST have Minimalistic Text installed before installing NST Weather Widget.
Install the app from the zip below either by side-loading or ADB. The initial user interface of the app is a Settings page. Open NST Weather and enter your latitude and longitude, as well as your API. Be especially careful with the API and make sure to include any negative signs with the geocoordinates.
Next, make your selection of the units you want displayed. Finally, to make the app fully functional you need to check both of the boxes in the lower section (you can disable the app temporarily by unchecking these). When you've made all the selections, tap on the bottom box to start a manual data retrieval. The Settings page will close and you should see WiFi come on for a bit. It will then turn off. If a successful connection was made with OWM and if you entered your information correctly, you will eventually receive a notification that the process is complete (first time only). How long will it take? About 3 minutes. There's an awful lot of stuff to be done. That's one reason for having the data update done at 3:30 am when you are hopefully snoozing. OWM finally added a time zone adjustment to their xml data file but I decided to leave my own in place because various municipalities have their own approach to daylight/standard time changes so your time zone will match the local clock setting of your device.
If for some reason the device fails to contact OWM the first time it will try a second time. If the second time fails, you will get a notification telling you that download failed, assuming there is nothing wrong with the values you entered. Go back to the Settings page and carefully check your API. That's where the most likely error will occur. Of course you should check your geocoordinates, too, just to be sure.
Once an initial weather forecast has been successfully retrieved (and the data is processed), tapping the app icon will display the 5-day forecast panel rather than the Settings page. However, you can access the Settings page from the little cog-wheel icon on the forecast panel.
If you have made a successful connection with OWM before and one day there is a notification saying download failed, you can just ignore it and hope for better luck the next day unless you absolutely must have an updated forecast. In that case, you can use the manual retrieval option from the Settings page. There is no need to re-enter the latitude, longitude and API each time you open the Settings page once they have been entered correctly. Also, if you decide to change the locale, you only need to enter the new latitude and longitude, not the API.
The 5-day forecast panel is updated daily even if a download fails (data is just shifted to the left and the names of the days are changed). You access the panel by tapping on the app icon or--better--by assigning the app to your widget (see below). If you run through the data entirely without any WiFi contact OR if the device has been off for awhile and the data is no longer current when it is turned back on, you will receive a notification that there is no more forecast data. A tap on the widget will initiate a manual data update.
The Widget
This is the hard part for the user (as opposed to the hard part for me, which was the app!). The version of Minimalistic Text for the NST has some issues but once you get past them it seems to behave OK. Unfortunately, it appears to have been intended for black screens, so fonts are default white, and the opening screen which ought to display your widget configurations just shows black rectangles, regardless of how you've set up font colors and backgrounds. And...a few menu options are "invisible" due to the colors used.
Edit: I have replaced the copy of the apk in the zip with a modded version in which the display of the widgets in the opening screen of the app has been fixed.
Not to worry. You'll get past it.
The app shares four variables with Minimalistic Text every three hours as well as updating one of the variables at both sunrise and sunset (within the nearest quarter hour). The variables are:
LOCATION (where OWM says you are)
CURRTEMP (the current forecast temperature)
CURRCOND (the current forecast general condition--as icon)
TCURRCOND (the current forecast specific condition--as text)
You can use as many or as few of these as you like, as well as static text, in any arrangement, to construct your widget.
What follows is not an exhaustive exploration of Minimalistic Text. There are people better qualified for that. This is what worked for me. Your mileage may vary.
1. Find a spot on your home screen and long press there to add a widget (or do whatever you do for the launcher you are using to add a widget)
2. Choose a Minimalistic Text option. The sample widget shown below (just the weather one, not the day-date) is a horizontal 2x1, just to give you an idea.
3. Minimalistic Text now opens to a Settings page. Give your widget a Name (Weather?).
4. Uncheck the "Show background". Ignore Shadow settings (at least for now).
5. You can ignore the Orientation settings for now. If there is some effect you are trying to achieve it may pay to return to them, but maybe not.
6. Under Predefined layout, select the last option: Custom (BTW, don't get distracted by the temperature stuff. The weather services of this old app are defunct.). We'll come back to Custom layout in a moment, but first...
7. You won't be able to see anything you are doing unless we do something about the font colors which are white by default. So under Text Style you will see three different options. For each one, you will want to set a font size (I like 20--you can override this later), a font color (probably black?), maybe the case, and an actual font to use.
Here's what I did:
Normal: font family=default, (not bold, not italic), size=20, case=normal, color=black
(use the "Back" status bar button to return for the other fonts)
Accented: font family=default, (bold, not italic), size=20, case=normal, color=black
(for some reason a sample of your Accented text does not appear...but it does work)
Non-accented: font family=weathericons.ttf, (not bold, not italic), size=20, case=normal, color=black
Note: you will only see the weathericons.ttf as a font option if you have done all the stuff described earlier.
8. Scroll on past a lot of Settings stuff to get to Tap behavior. You want the third option, Start another activity. When you check this box you see a new section to tap that will open a page which will eventually populate with activities. Find NST Weather and select it. This will make the forecast panel open when you tap on the widget.
9. Scroll back to Custom layout. DO NOT hit the back arrow!!!!! This will exit the app and you will lose everything you've done! Tapping on the box will open the "workspace" where you actually assemble your widget. By default there are three things already present there and it looks like mush below that because of the weather icon font. So, long-press on any of the default items until a trash can appears below. Then drag the item into the trash. Repeat for the other two. Now you have a clear workspace. There are three buttons at the right. The top button is for adding elements, the next one down adds a line, and the lowest one deletes a line.
10. Tap the topmost of the three buttons and you will see a bunch of options appear at the bottom of the workspace. Again, don't get distracted by the Weather options. They don't work any longer. You can explore later but for now what we want is "Misc". There are only two options on that tab, Locale variable and Static text. The first of these will be one of the four things I listed earlier. The second is just plain text that does not change (including something as simple as a space!).
OK, I am now going to build the widget shown in the image attached below. This may not be something you'd actually like to make, but I hope by me describing the process you'll get a feel for it. You can always go along with me now and then delete the whole thing afterwards, no harm-no foul.
11. Long-press on Locale variable until everything else fades away and then drag it up under "Custom layout". In the display space below you'll see [LOCTV]. That's for Locale Tasker Variable (I guess). Now tap on the grey Locale variable box and you'll see a mostly black section for text input. The first blank is for the name of the variable, like LOCATION. The drop-down is for the type of font face you want to use. I would select Normal. The last part is for overriding the font size from what you set before. I left that blank, so it's at 20. It is theoretically possible to dismiss this black area with the tiny "-" in the upper right corner, but it's devilishly difficult. I discovered by accident while working on this that another tap on the grey "Locale variable" box will clear the bottom box and save your work. (you can dismiss the keyboard with the status bar "Back" button)
12. Now tap the second of the right hand buttons to add a line. Tap the top button to add a new element and drag up another Locale variable, positioning it below the first one. Tap on the grey box. In the workspace, enter CURRCOND for the first field. Choose Non-accented text (this was where we assigned the icon font). I wanted this a bit larger so I checked the little box and entered 32 for the font size. Tap on the grey box to close all this and dismiss the keyboard as before.
13. Tap the top button to add a new element and drag a Static text box up to the second row. The only purpose of this box is to provide a space between the icon and the temperature! So tap on the grey box and the only thing you really need to do here is enter a space into the first field. Close things up as before.
14. Tap on the top button to add another element and drag another Locale variable box next to the Static text box. Tap on the grey box and enter CURRTEMP in the first field. The font would be Normal and I overrode the size to 32, as for the icon. Close things up as before.
15. Tap on the top button to add another element and drag another Static text box next to the Locale variable you just did. This is for the degrees symbol. Tap on the grey box and enter the degree symbol and either C or F in the first field. The font would be Normal and the size I made 32. Close things up as before.
16. Tap on the second button to add a final row. Now tap on the top button to add a new element and drag a final Locale variable box to sit below everything else. Tap on the grey box and enter TCURRCOND in the first field. I left the font at Normal and the size at default. Close up everything as before.
17. Use the status bar "Back" button to return to the Settings page. Scroll all the way to the end until you see Save/Restore. Tap "Save". Enter the name of the widget again (Weather) and hit "Save".
18. AND NOW THE MOST IMPORTANT STEP. Tap the "Menu" button on the status bar and you will see a menu appear at the bottom of the screen. Tap "OK". This is how you save your actual work, not just the settings. If you make changes, you always need to do this. This will exit the app and take you back to the home screen where--hopefully--you will see your widget!
19. If you wish to change/tweak the widget (as opposed to deleting it and starting over), tap on the MT icon and you will find yourself at the preferences entry page (all black...). You'll see your widget if you named and saved the preferences, but only as a black rectangle since your font color is most likely black and so is the page background (ugh...). Anyway, tap on the rectangle and you'll be back in the Settings area for that widget. Just remember, you need to save the preferences (near the end of the Settings menus--use the same name unless you are trying something out), and also you need to use the status bar "Menu" button to bring up the menu at the bottom of the page where you can tap on "OK" when you are done making changes.
Icons credit and information
I could not have done any of this without the weather icon font from Erik Flowers: https://erikflowers.github.io/weather-icons/. I did locate one other font but it had far fewer choices of glyphs. In the end I only actually used 13 of the glyphs for the weather condition icons. OWM has 18 general conditions (actually just nine doubled for day and night). After looking at the many choices offered in the font and the more detailed descriptions of the conditions from OWM, I decided to use day-neutral icons for situations in which the sky would be largely obscured. That means that the inaptly named "broken clouds" (51-84% cover), "shower rain", "rain", "thunderstorm" and "snow" show neither sun nor moon (and in fact are identical for day and night). There just seemed something odd about looking at driving rain and the sun peeking over clouds. Even in Coastal California we occasionally have such conditions as a storm is on the wane, but there just isn't enough fine gradation in the OWM condition icons so I had to make judgment calls. The specific text conditions, on the other hand, cover 54 situations and give some nuance to the general forecast.
In order to make the glyphs accessible to MT, I needed to partially remap the font, "moving" the 13 glyphs to standard keyboard characters rather than the glyph section which there is no way to access with the NST. I used the free version of Type Light 3.2 (https://www.cr8software.net/typelight.html) to do this.
The icons in the forecast panel are just images I created with a graphics program on my PC, using the remapped font.
So...if you don't like the condition icons you can, of course, not include them in your widget. If you want to change the icons in the forecast panel, you can replace the images in the NSTWeather folder. Just keep the size the same and make a transparent png. But if you want to replace the condition icons used in the widget, you will have to find another font somewhere and treat it as I did. You could also remap the font supplied if you prefer other choices of glyphs. That's quite a project and best left to individual questions.
That's a lot of work.
Wednesday at 11 AM has overflowed into two lines. Maybe there are extra spaces in the text?
I'd rather have the hours go left to right (even if there is less detail) and the days top to bottom.
Renate NST said:
That's a lot of work.
Wednesday at 11 AM has overflowed into two lines. Maybe there are extra spaces in the text?
I'd rather have the hours go left to right (even if there is less detail) and the days top to bottom.
Click to expand...
Click to collapse
Yes, indeed, a lot of work. Thanks for catching that layout issue on the panel. I was just fixing it as the email of your post came through. Layout is my least favorite part as Tasker on the NST is very cranky as you approach the screen size limit and it keeps shifting things every time you make a change. Then you need to go into the xml and find the coordinates and correct them...Then you transfer to another device on which App Factory will run and correct all the image paths...
Well, it's fixed
Amazing work. I hope you can get the error figured out. I'd love to add this to my office desktop nook.
deleted

Categories

Resources