[Q] ActionBarSherlock - Tabbed navigation AND integrated spinner possible? - Java for Android App Development

Hi all,
Title really says it all. I have a tabs set up at the moment but I want to add a spinner to the action bar as well. To use as sort of a category tool. So a user can go through the tabs but also simply what they are seeing by selecting something from the dropdown spinner.
I've seen tutorials for a spinner in the actionbar and they require the navigation to be changed to list
Code:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
Mine at the moment is of course
Code:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Is it possible to have both? I have a title and tabs underneath to the title action bar is empty at the moment, a perfect place for a spinner. This is what I have right now: http://i1.ytimg.com/vi/ppuv-FP6c4w/maxresdefault.jpg I'd like to be able to add a spinner that is always showing where it says 'ABS ViewPager Tabs'
Any help would be appreciated. Haven't found a tutorial that integrates both yet.

RED_ said:
Hi all,
Title really says it all. I have a tabs set up at the moment but I want to add a spinner to the action bar as well. To use as sort of a category tool. So a user can go through the tabs but also simply what they are seeing by selecting something from the dropdown spinner.
I've seen tutorials for a spinner in the actionbar and they require the navigation to be changed to list
Code:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
Mine at the moment is of course
Code:
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
Is it possible to have both? I have a title and tabs underneath to the title action bar is empty at the moment, a perfect place for a spinner. This is what I have right now: http://i1.ytimg.com/vi/ppuv-FP6c4w/maxresdefault.jpg I'd like to be able to add a spinner that is always showing where it says 'ABS ViewPager Tabs'
Any help would be appreciated. Haven't found a tutorial that integrates both yet.
Click to expand...
Click to collapse
Since the ActionBarSherlock library is closesly related to the native action bar, I googled and found this similar question. It seems that, using these libraries it is not possible, however there are several methods to use instead (but those aren't so nice).

Bugger. Guess I could try doing it with a custom view and work from there like shown in that link. Hmmm, might have to rethink how my app lets users navigate.
That stuff that I plan to put in the spinner has to be somewhere so I guess I should look to creating this custom actionbar thingy. Hopefully the output is smooth. Already using a ViewPager that the guy who answered mentioned so this may not be too hard.

RED_ said:
Bugger. Guess I could try doing it with a custom view and work from there like shown in that link. Hmmm, might have to rethink how my app lets users navigate.
That stuff that I plan to put in the spinner has to be somewhere so I guess I should look to creating this custom actionbar thingy. Hopefully the output is smooth. Already using a ViewPager that the guy who answered mentioned so this may not be too hard.
Click to expand...
Click to collapse
This video from Google I/O 2013 helped me very much with my app navigation design: http://www.youtube.com/watch?v=XpqyiBR0lJ4&list=PLOU2XLYxmsIJOOTFfYzhR2d-rcSbBbEE_

nikwen said:
This video from Google I/O 2013 helped me very much with my app navigation design: http://www.youtube.com/watch?v=XpqyiBR0lJ4&list=PLOU2XLYxmsIJOOTFfYzhR2d-rcSbBbEE_
Click to expand...
Click to collapse
Thanks, I'll give that watch.
I'm currently using GridViews with custom adapters to show my content under each tab so if I could have an onClick change what the getView() method of the adapter shows to a user I could just keep it really simple and have simple buttons instead of a spinner.
That seems like a good option at the moment.

Related

Show keyboard while hiding SIP toolbar below

Hey,
I am developing for WM5 using C# ... is there any way that I can show my SIP keyboard but without the bar below it? I am running my App fullscreen and it just looks silly with the little bar below it... also it's a waste of real estate of the screen.
this is a pic of what I mean
Is there any reg key/COM usage/code/workarounds or anything I can do (not sticking something on the screen ) to hide this while showing the keyboard?
Mark
is this is an iphone keyboard??
i understand your pain. This is a design decision from Microsoft so that the user is able to switch on and off the keyboard at any time. But obviously they messed it up.
When I was trying I was not even able to draw something upon it to at least make it invisible. Anyway, if u are programming in C++ you could create your own SIP class. try this article from MSDN to help you out http://blogs.msdn.com/windowsmobile/archive/2005/02/10/370355.aspx
Hehe... yes it is indeed an iPhoney keyboard
I got it using the PCMKeyboard Here and then skinning it with this skin I actually found somewhere in xda dev forums
I have seen that link, that would allow me to create my own SIP keyboard and add it in... I like the iphone one and want to use it.. just without the stupid little icon. I'm happy to hack it off but ideally only when in my app... it'd be a bit annoying to lose it permanantly. I was thinking about some way to even force it offscreen... so it's "there" it's just not visible? ... might be a load of hassle as id'd have to catch the scrollbar everytime and only show it when the screen content was > screenheight + 20 px or something... but that might be an idea. Obviously I could write a keyboard controll but that's a lot of hassle to write and skin it.... unless there is already one in .net out there
Hope some xda dev genius can come up with a better solution though...
Resco Keyboard Pro also has iphone keyboard skin.
Yeah we work closely with Peter and the guys at resco with their mobile forms toolkit and co-design a lot of custom items... unfortunately that is just another SIP keyboard... so I would run into the same problem of hiding the evil little icon/toolbar.
There must be someone here who knows how to do this.. I mean I just watched videos of people proving they are smarter than HTC and writing OpenGL drivers for a phone!! lol... I might go and annoy a jr developer to make myself feel smart again as reading posts in this forum are no good for my ego
Not sure if there is anything in here for you. I can't see what your after, but I'll post it anyhow. You might be able to gleam something from it...
http://msdn.microsoft.com/en-us/library/aa182530.aspx
Ta
Dave
DaveShaw said:
Not sure if there is anything in here for you. I can't see what your after, but I'll post it anyhow. You might be able to gleam something from it...
http://msdn.microsoft.com/en-us/library/aa182530.aspx
Ta
Dave
Click to expand...
Click to collapse
Hmm... nothing there, but thanks very much. I have created a menu bar and when I add more than 2 items to it the sip icon moves to the right hand side, so there is obviously something somewhere that can control this... if it is docked in that menu, I wonder if there is a way to hide the menu as opposed to removing it and possibly hide the sip thing too??! or the sip thing might exist "above" the bar and just appear to be on it....
Any more ideas would be very welcome!
Cheers for the help,
Mark
I'm no programmer so I can't help. But I remember when I was using PocketCM contacts (written by the tene who wrote PocketCM keyboards), during the sms screen the keyboard will popup but the little "evil" bar won't appear. You may want to ask tene how s/he achieved that.
wearefree said:
I'm no programmer so I can't help. But I remember when I was using PocketCM contacts (written by the tene who wrote PocketCM keyboards), during the sms screen the keyboard will popup but the little "evil" bar won't appear. You may want to ask tene how s/he achieved that.
Click to expand...
Click to collapse
Ooh... cheers for that! I'll post on the PocketCM forum and see if I can get an idea.. or is he a member here?
Can't believe how much hassle such a small thing is... unfortunately my plan to push the form 25px lower to simply hide the bar doesnt seem to be working....
Mark
I just saw the thing about the Q&A thread ... so sorry for doing this... but in for a penny and all that...
I have seen here what looks like the code to hide the sip button.. but I am unsure how to call that in c# anyone able to help?
markmcgookin said:
I just saw the thing about the Q&A thread ... so sorry for doing this... but in for a penny and all that...
I have seen here what looks like the code to hide the sip button.. but I am unsure how to call that in c# anyone able to help?
Click to expand...
Click to collapse
Im having a play, let me see what I find...
Dave
Cheers dave!
Much appreciated!
Heres a quick Port of what I need to do to show/hide the SIP.
Did you also spot the link to the C++ article at the bottom. (http://support.microsoft.com/kb/266244/EN-US/)
Ta
Dave
Dave,
Thanks for your help... that seems to just be the same as
this.InputPanel1.enabled = false;
and if you still click there it proceeds to appear. I really want the keyboard up.. but with no icon or space down there. (Tempted to say it's impossible just to spark peoples interest in a challenge! lol)
I have tried this and it's PERFECT for what I want... only in VB
So I am going to have a go at converting it to c# ... but we all know... this will never work... lol so I will keep you posted and put the solution up when I finish. (P.S - Please dont tell my boss I've spent all day on this... but you know what it's like when you come up against a problem that puzzles you!)
HORRAY!
We have success... this is based on the work from the link that the guys in the above post have done in VB... I won't lie I don't understand it 100% but I get most of it. I have ported it over to .cs and it works a treat!
the commented out line in the code is for me, I have a custom iphoney SIP with different dimensions in it. The project as is should work for the standard windows kb sip.
Thanks so much for all the contributions and help though!
solution is attached
markmcgookin said:
HORRAY!
We have success... this is based on the work from the link that the guys in the above post have done in VB... I won't lie I don't understand it 100% but I get most of it. I have ported it over to .cs and it works a treat!
the commented out line in the code is for me, I have a custom iphoney SIP with different dimensions in it. The project as is should work for the standard windows kb sip.
Thanks so much for all the contributions and help though!
solution is attached
Click to expand...
Click to collapse
Grats Mark,
I was just looking at that code. What it does, is it gets the Handle of the Window of the SIP (keyboard and the bar your trying to hide) using Find Window, SipWndClass is the name of the SIP window.
And them moves them down, off the bottom of the screen.
Ta
Dave
I dont mean to bring up old threads but I just wanted to add a note for any one that stumbles across this on the intertubes(as i did). In fact, the sipbutton and sipkeyboard have different handles. To actually hide the sipbutton(and not just move the keyboard over top of it) you need to use the "MS_SIPBUTTON" class to get your handle instead of "SipWndClass".
i.e.
Code:
Dim h As IntPtr = FindWindow("MS_SIPBUTTON", Nothing)
MoveWindow(h, 0, Me.Height, 0, 0, False)
With Fingerkeyboard you have the option to simply not show the entire bar
Would it be possible to have this work only if your keyboard was in landscape position? I know Fingerkeyboard has this option but I would like to do the same thing with a different keyboard. Thanks in advance.
Oh wow.
I have been looking for this solution for a LONG TIME. I'd love to be able to have the same type of screen as using Pocket CM (keyboard at the bottom of the screen) in other programs, without losing the functionality of the screen buttons... like "Send" "Menu" in messaging.

Subclassing the Start Button

Hi All,
I cracked open Remote Spy++ and started figuring out how I could go about writing a Honeycomb start menu replacement for WM5-6.1 (seen the XP Start Replacement? Same idea). Having written something similar on desktop Windows I thought it would be easy. The app is in C#/CF.
So the window hierarchy is:
Code:
- Desktop
- HHTaskBar
- (nothing !!!)
And messages of interest (in order):
Code:
WM_LBUTTONDOWN (0x201)
WM_PAINT (0xF)
WM_INITMENUPOPUP (0x117)
Okay, so forgetting about the fact that the window is opaque (I will delve into this later on), I went ahead and subclassed it to catch the WM_LBUTTONDOWN message (the others didn't stop the original from showing up). That falls over (the debugger doesn't even break into code and the device needs a hard reset). I am investigating this - although my MessageBox shows up just before it dies.
Update: Using BeginInvoke with a worker method fixes the above issue. E.g:
Code:
public IntPtr NewWndProc(IntPtr hWnd, uint msg, IntPtr wParam, IntPtr lParam)
{
if (msg == WM_LBUTTONDOWN)
{
this.BeginInvoke(new Action(DoWork));
return IntPtr.Zero;
}
return CallWindowProc(oldWndProc, hWnd, msg, wParam, lParam);;
}
private void DoWork()
{
Form2 two = new Form2();
two.Show();
}
So my question: the HHTaskBar is opaque, it has no child controls. Obviously, I don't want to subclass the battery/close/etc. buttons, and ideas on how to reliably retrieve the rect for the start button?
Or is the whole thing a hack? I suspect there is a way to do this without all this subclassing hackery. Google and forum search didn't turn up anything.
Thanks guys.
Source code
Usage: (not recommended on real device - use an emulator!) Click on button1 then click anywhere on the taskbar. Now reboot
I'd start with Quickmenu:
http://forum.xda-developers.com/showthread.php?t=471292
This app is the best start menu replacement I ever saw...
I'd only add a mixture of WKTASK's taskbar management and the ability to choose a icon for the start menu.
Thanks
twolf said:
I'd start with Quickmenu:
http://forum.xda-developers.com/showthread.php?t=471292
This app is the best start menu replacement I ever saw...
I'd only add a mixture of WKTASK's taskbar management and the ability to choose a icon for the start menu.
Click to expand...
Click to collapse
Thanks, it doesn't look like he has any source code available though. Looks like I will have to investigate more... I am not going for the drop down style (but as you said, it is really cool), I am trying to make a Honeycomb (WM 6.5) style menu.
I tried the wm6.5 honeycomb start menu... was not impressed, but maybe it had some extra something i didnt noticed... :/
I still haven't flashed my device with 6.5, but I reckon a FOSS honeycomb menu could be cool...
I think you'r on to something here. The start menu as it is in WM6.1 is pretty much useless. I would much rather have the start menu show me a application shortcut page like the one in WM6.5. Although to be honest I don't really like the honeycomb look. What's wrong with a plain old columns and rows type of thing. With the added physics scrolling/swiping stuff of course
frepe383 said:
I think you'r on to something here. The start menu as it is in WM6.1 is pretty much useless. I would much rather have the start menu show me a application shortcut page like the one in WM6.5.
Click to expand...
Click to collapse
Exactly! I am also hoping to replace that shoddy settings menu.
frepe383 said:
Although to be honest I don't really like the honeycomb look. What's wrong with a plain old columns and rows type of thing. With the added physics scrolling/swiping stuff of course
Click to expand...
Click to collapse
I think something with tabs (like Manila 2D) such as 'Programs', 'Running Programs', 'Settings' would be pretty useful. Skinning is a given, and honeycomb would be one (for the fanatics).
Update
I decided to call the tool Mead (as in the beer that contains honey ).
I was having problems with the default message pump and the hook (well, subclassed event). I am not sure which message was crashing my program, but if I use Application.Run() a native exception occurs in mscoree3_5.dll. The workaround is to create the form in the handler for the hook and show that one (it wasn't a UI thread being called from a worker, I am aware of that). So I think it must be a CF message pump bug. In any case, it works great now.
Quitting isn't all the way there yet, still some bugs (the type that will need a soft reset).
On to the UI stuff.
clickety
Excellent idea mate, but is it worth doing? the Beta 2 of 6.5 is already out and i am guessing its not long until the final version
Any news on this?
Nope
Nothing new. Just haven't had time between my job.
For now I am pinning it as the native call-in issue that the .Net CF suffers from (a documented limitation). Something isn't quite right.
I will continue to experiment, but push comes to shove, I will probably land up creating an interop library for it.
Instead of subclassing, you can just create a childwindow of HHTaskbar that is located over the start button.
Alternatively, you could suPerclass the "Explore" window class just to replace the Programs menu. Beware, that superclassing may be a bit dangerous
Interesting Idea
That is an interesting idea. When I get time I will start messing around with it.
That said I do expect some problems: again the interop call-in to .NET CF, but this may prove to work as a work-around .

[Q] Confused with coding for layout.

Hi there, long time lurker first time poster here!
Slowly getting into android but i really cant get my head around the layouts. I would love to be able to use the AbsoluteLayouts but that isn't a good idea anymore.
Basically after some work i have managed to get a gallery working at the top of the screen. I want my app to look like this in essence: Ok can't post outside links at the moment, fair enough. Think of the android market. Icons to the left and a bit of information for each app next to it and a buy button on the right.
However i have no idea where to start off. Since i have the gallery already i have no idea how i can add things underneath it without screwing anything up.
Can anyone help? Thanks in advance!
Sorry to bump but the issue has changed, I have built an app but would like like the text to be besides the icon. Any chance someone can help? Using a linear layout.
http://img263.imageshack.us/i/sellscreen.jpg/
RED_ said:
Sorry to bump but the issue has changed, I have built an app but would like like the text to be besides the icon. Any chance someone can help? Using a linear layout.
http://img263.imageshack.us/i/sellscreen.jpg/
Click to expand...
Click to collapse
Are you using a List View? Looks like one.
How do you build up your content for the list?
In my view the best solution for your problem would be:
- Use a ListView
- Build your own ListAdapter (drived from BaseAdapter for example)
The Adapter builds the view for each item (or recycles an already built up view, the ListView handles that).
The view for each item would be a horizontal oriented LinearLayout with two items (the image and the text) and the adapter fills the layout with the information of the current item.
For better layout handling I would define the layout for the items in an extra xml file and use the LayoutInflater-Service inside the Adapter (if a view has to be built).
Hope this helps and points into a helpful direction
Devmil
Thanks for replying, managed to find a solution in the end without using ListView. Thought about moving to a RelativeLayout as its more effcient but as my app is very small anyway in the end i've just gone and used nested LinearLayouts with a textview and imageview in each one.
Ridiculously simple when you look back on it.
I was actually going to use this tutorial which does what you explained i think: http://www.anddev.org/iconified_textlist_-_the_making_of-t97.html but it left me with a force close error so that went out the window.

[GUIDE] The right Soft Keyboard (+adding a CustomKeyboard)

Hi devs,
During development of my app (see my signature), I researched a bit and finally found a quite nice way to implement a custom keyboard which is only shown in your app easily.
Much of this is taken from Maarten Pennings' awesome guide here, thanks to him and feel free to read it as well.
So I thought I'd extend his work with this guide which also takes a look at why you'd want to use one or the other keyboard. Enjoy! :victory:
{
"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"
}
Limits of the Android IME
Any kind of text input (password, number, address, etc.) is usually handled very nicely using the android:inputType attribute (or the corresponding setter in java) on the EditText field.
But as soon as you have to deny some characters, for instance you want the user to insert a file name, it gets more complicated since there is no inputType for that.
The way to achieve that would be to implement your own KeyListener like this:
Java:
import android.text.method.NumberKeyListener;
//...
// set a new KeyListener onto your desired EditText, overriding the default one:
EditText edit = findViewById(R.id.edittext);
edit.setKeyListener(new NumberKeyListener(){
@Override
public int getInputType() {
// should be the same as android:inputType, for all numbers including decimal and negative:
return (InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
}
@Override
protected char[] getAcceptedChars() {
// declare your desired chars here, ONLY those will be accepted!
// for instance numbers:
char [] res = {'1', '2', '3',
'4', '5', '6',
'7', '8', '9',
'0', '+', '-', '*', '/',
'(', ')', '.', ',', ' ', '^', '!',
// alphabet:
'a', 'b', 'c', 'd', 'e',
'f', 'g', 'h', 'i', 'j',
'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't',
'u', 'v', 'w', 'x', 'y',
'z'
};
return res;
}
});
The problem is that the keys are still present and therefore distracting and irritating to the user, because nothing happens on click.
And also, there might be a much easier and better accessible layout for your set of keys. In the following I will tell you how to integrate such a custom layout using the KeyboardView class, but first let's take a look at the advantages of both keyboards:
Android IME or KeyboardView???
The answer to this question is tightly depending on the task you want the user to fulfil, and also on how much freedom you want to give him. The high customizablility and its theming options are a strong point for the KeyboardView, but be warned that since this View was added in API level 3 (and never updated I think) there are a couple of bugs which you have to workaround.
A standard keyboard is more familiar to the user and is often also a third-party keyboard and therefore more customizable. But this also has its downsides since there is no guarantee that the IME will display the characters you need.
Note that you will not be able to get a working cursor image easily with the KeyboardView (though the cursor works as it should, just the blue arrow below it won't be displayed).
For simple tasks where just a few buttons will be useless, such as when asking for a filename the normal IME is recommended. But for various operations you'll find the KeyboardView to be much cleaner.
If you decided to try the KeyboardView, here's how it works:
Adding a CustomKeyboard
NOTE: I will only cover how to implement such a Keyboard, if you want to know how it works in detail check out the third chapter in Maarten Pennings' guide.
First, since it is a view, you will need to manually insert the following to the xml layout file of all activities where you want to use it:
Code:
<android.inputmethodservice.KeyboardView
android:id="@+id/keyboardview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:visibility="gone" />
Put it in a relative layout container, though it should also work in other ones. Most important is that it is the topmost container in the view hierarchy.
Second, you need an xml file where all the keys and their layout are stored for the KeyboardView to inflate. For a start, you can take the one Maarten Pennings has posted or download mine here: View attachment keyboard_layout.txt (xda doesn't support .xml files, so just rename it to keyboard_layout.xml!)
Move that file to your res/xml/ folder, you can create other layouts for landscape using res/xml-land/
You have to play around with that file a bit to get your desired layout, here are some tips:
Start by designing it on paper, then write it as a comment (ASCII-Art‎?) so you have it properly lined up and always at your hand while coding
Including gaps of half a key or so to separate different areas works nicely
Highlight important keys either with a different android:keyBackground or by making them larger than the others.
Leave the android:horizontalGap attribute untouched on Keyboard level, this will probably break the key lineup
Calculate the key width like so: width = 100/(keysPerRow + numberOfGaps)
Set the android:keyHeight on Keyboard level to something that rows*keyHeight is about 40%-50%.
For every key label which is longer a single character, use the corresponding ASCII-integer as key code (android:codes), otherwise pick a negative number or one that's higher than 256
Use android:isRepeatable="true" for keys to press and hold for multiple clicks like the delete key
If you want to display a popup keyboard on hold, you should rather make a popup window yourself or use a dialog rather than using the androidopupKeyboard attribute.
For inserting more than one char on click, use the android:keyOutputText on key level or override the specific keycode in the onKey() method in CustomKeyboard.java
As I said, you will need some patience doing this since there is neither help nor documentation on the xml namespaces.
Third, there are a couple of icons required for some keys like the delete key. You can either use the ones provided in the guide, but I suggest downloading the original holo android icons from the different drawable folders here.
Take the sym_keyboard_... files that you think you'll need and place them in the respective res/drawable-ydpi folder. Set the android:keyIcon attribute to @drawable/sym_keyboard_... for those special keys.
Fourth, we need a java class to process the clicks and provide the methods for showing and hiding the keyboard. Luckily, you take mine here: View attachment CustomKeyboard.txt (again, rename it to CustomKeyboard.java)
Copy that file into your src/com/package/name and change the package to your app.
This class is heavily based of the one Maarten Pennings has come up with, but with an actually working cursor, so that you can tap or drag to move the cursor. I included haptic feedback (set it using enableHapticFeedback(true)) and an easy way to add chooser dialogs if you want to have multiple insertions in one key (see the onClick(...) method); This looks like this:
If you are using any special keys or dialogs as popups, you will need to edit the onKey() or the onClick() method like I did.
Fifth, in your onCreate() method after setContentView(...) you just need to register every EditText that you want to use the keyboard on like so:
Java:
// initialize the instance variable customKeyboard
customKeyboard = new CustomKeyboard(this, R.id.keyboardview, R.xml.keyboard_layout);
// register the edittext
customKeyboard.registerEditText(R.id.edittext);
For a hiding keyboard if you press the Back key, add the following to your activity:
Java:
@Override
public void onBackPressed() {
if(customKeyboard!=null && customKeyboard.isCustomKeyboardVisible() ) customKeyboard.hideCustomKeyboard(); else super.onBackPressed();
}
Click to expand...
Click to collapse
Congrats, you have finished adding a CustomKeyboard and can now test and further improve it :good:
Read on if you want to theme it further (let's face it, the default theme is still from the first versions of android).
Theming your Keyboard
Theming the KeyboardView
To make your newly created keyboard fit more to the overall style of your app, it is crucial to theme it.
Here are some attributes which you'll want to customize:
Code:
<!-- on KeyboardView level: (in android.inputmethodservice.KeyboardView in your activity) -->
android:keyBackground
android:keyTextColor
android:keyTextSize
android:background
<!-- on Key level: -->
android:isSticky
<!-- for toggle keys like shift or ALT only -->
android:isModifier
These are all pretty self-explanatory, the most important one being the keyBackground.
You will need different drawables for each of the keys states including normal, pressed, active, popup and either light or dark theme.
As an example, here's how I made the holo style: Basically I took the holo drawables from source and added android:keyBackground="@drawable/btn_keyboard_key_ics" in our KeyboardView (not Keyboard!).
Download those icons from here.
Specifically, you need the btn_keyboard_key_ics.xml file in the drawable folder and all the btn_keyboard_key_... from the xhdpi, hdpi and mdpi folder that you need, at least btn_keyboard_key_dark_normal_holo and btn_keyboard_key_dark_pressed_holo.
The btn_keyboard_key_ics.xml goes into your res/drawable folder and all the others should be dumped into their respective res/drawable-ydpi folder.
From the key_ics file delete all items where you didn't download the .9.pngs so they don't give compilation errors.
Click to expand...
Click to collapse
I hope you found this helpful and I could save you a bit of work. If you have any questions or suggestions, feel free to post them here!
This guide was featured on the portal on 26th October (thanks Will Verduzco!)
Wow. Really cool guide. :good:
Can we edit the third party stock keyboards....
SimplicityApks said:
Theming the KeyboardView
To make your newly created keyboard fit more to the overall style of your app, it is crucial to theme it.
I hope you found this helpful and I could save you a bit of work. If you have any questions or suggestions, feel free to post them here!
This guide was featured on the portal on 26th October (thanks Will Verduzco!)
Click to expand...
Click to collapse
Since i like the stock keyboard of htc one ... just wanted to know if i replace the resources of stock keyboard of AOSP with that of keyboard from
htc one will it work or do i nedd to do some modding....
anurag.dev1512 said:
Since i like the stock keyboard of htc one ... just wanted to know if i replace the resources of stock keyboard of AOSP with that of keyboard from
htc one will it work or do i nedd to do some modding....
Click to expand...
Click to collapse
You mean you want to have a KeyboardView in your app with the layout files from the HTC keyboard? Sure, that'll work, you only need to get the resources (decompile keyboard app?). Some layout adjustments might be needed of course...
reply
SimplicityApks said:
You mean you want to have a KeyboardView in your app with the layout files from the HTC keyboard? Sure, that'll work, you only need to get the resources (decompile keyboard app?). Some layout adjustments might be needed of course...
Click to expand...
Click to collapse
no bro i m saying to mod the stock keyboard of jellybean with that of stock keyboard of htc one...
anurag.dev1512 said:
no bro i m saying to mod the stock keyboard of jellybean with that of stock keyboard of htc one...
Click to expand...
Click to collapse
OK, sorry, I didn't read the title of your post...
That should be possible, although I have no idea about decompiling and modding. From what I understand, you could try making an XPosed module, that should work and is better since it can be applied at runtime.
SimplicityApks said:
Hi devs,
During development of my app (see my signature), I researched a bit and finally found a quite nice way to implement a custom keyboard which is only shown in your app easily.
Much of this is taken from Maarten Pennings' awesome guide here, thanks to him and feel free to read it as well.
So I thought I'd extend his work with this guide which also takes a look at why you'd want to use one or the other keyboard. Enjoy! :victory:
View attachment 2347941
Congrats, you have finished adding a CustomKeyboard and can now test and further improve it :good:
Read on if you want to theme it further (let's face it, the default theme is still from the first versions of android).
Click to expand...
Click to collapse
Nice
FunctionCapture
I just released my app to the Play Store, so if you want to see how the CustomKeyboard feels in action, download it here:
FunctionCapture
You might want to leave a review or +1 as well, that helps a lot, thanks!
SimplicityApks said:
Theming the KeyboardView
To make your newly created keyboard fit more to the overall style of your app, it is crucial to theme it.
I hope you found this helpful and I could save you a bit of work. If you have any questions or suggestions, feel free to post them here!
This guide was featured on the portal on 26th October (thanks Will Verduzco!)
Click to expand...
Click to collapse
hi... I am not able to download resources for custom keyboard... please help me
tejal said:
hi... I am not able to download resources for custom keyboard... please help me
Click to expand...
Click to collapse
Well I can still download it, might be a problem with either your browser or xda where you live...
Thanks for the tutorial, really helped me with my project as I need a custom keyboard. But I would like to ask, how do I add a second page to the keyboard as I need more entries to it. Is there a way to add like a small button in the keyboard 1/2 and when you press it, it'll go to the 2nd page of it.
misleading93 said:
Thanks for the tutorial, really helped me with my project as I need a custom keyboard. But I would like to ask, how do I add a second page to the keyboard as I need more entries to it. Is there a way to add like a small button in the keyboard 1/2 and when you press it, it'll go to the 2nd page of it.
Click to expand...
Click to collapse
Mmmmh didn't think about that so far... Have you tried wrapping 2 keyboardviews in a viewpager?
SimplicityApks said:
Mmmmh didn't think about that so far... Have you tried wrapping 2 keyboardviews in a viewpager?
Click to expand...
Click to collapse
I think I got it somehow.
I made a small key in the current keyboard. An example maybe like SYM which represents Symbol, so if you press it, it'll go to the view on keyboard full of symbols. Just had to repeat actually.
Edit: It seems like I can't post the code or part of it. Says that my post was flagged by the system and was blocked from submitting. I want to show how, but it seems it doesn't allow me haha.
misleading93 said:
I think I got it somehow.
I made a small key in the current keyboard. An example maybe like SYM which represents Symbol, so if you press it, it'll go to the view on keyboard full of symbols. Just had to repeat actually.
Edit: It seems like I can't post the code or part of it. Says that my post was flagged by the system and was blocked from submitting. I want to show how, but it seems it doesn't allow me haha.
Click to expand...
Click to collapse
Lol sometimes the system is against us..., well nice you figured it out
I am lost/stuck
First off I would like to thank Simplicity for such a simple guide and tutorial on how to set the custom keyboard up. Secondly even if it was very simple I obviously cannot follow directions and have done something wrong and even though my custom keyboard pops up and I am able to press the button, I am not able to get the edittext field to register the onclicks of the keys thus resulting in the buttons doing nothing. I have pmed Simplicity and was requested by him to post this question in the thread for others in case anyone else runs into this issue.
I have attached both the xml and java file to the post.
Hope someone can help and also hope this problem I ran into will help others if they are stuck at the same place.
Once again a big big big Thanks to SimplicityApks.
kva123 said:
First off I would like to thank Simplicity for such a simple guide and tutorial on how to set the custom keyboard up. Secondly even if it was very simple I obviously cannot follow directions and have done something wrong and even though my custom keyboard pops up and I am able to press the button, I am not able to get the edittext field to register the onclicks of the keys thus resulting in the buttons doing nothing. I have pmed Simplicity and was requested by him to post this question in the thread for others in case anyone else runs into this issue.
I have attached both the xml and java file to the post.
Hope someone can help and also hope this problem I ran into will help others if they are stuck at the same place.
Once again a big big big Thanks to SimplicityApks.
Click to expand...
Click to collapse
Had a look at your class and the xml keyboard layout again and everything seems fine to me so far... Question is how you implemented the keyboard in your activity layout and what happens when you register your text field in the onCreate(). It would be helpful if you could show us these parts of your code.
Other than that, does your onKey() method in the CustomKeyboard get called when you press a key? (Put a Log.d(..) statement or debug stopped in there to find out)
SimplicityApks said:
Had a look at your class and the xml keyboard layout again and everything seems fine to me so far... Question is how you implemented the keyboard in your activity layout and what happens when you register your text field in the onCreate(). It would be helpful if you could show us these parts of your code.
Other than that, does your onKey() method in the CustomKeyboard get called when you press a key? (Put a Log.d(..) statement or debug stopped in there to find out)
Click to expand...
Click to collapse
Hey sorry for the late response I just figured out what the problem was but now I have no idea how to fix it. The problem is here
Code:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="10dp"
android:padding="10dp"
android:descendantFocusability="beforeDescendants"
[COLOR="Red"]android:focusableInTouchMode="true" //This Right here is the problem[/COLOR]
android:weightSum="6" >
<TextView
android:id="@+id/billtotalTV"
android:layout_width="0dp"
android:paddingLeft="25dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Bill Amount:"
android:textColor="#B34F6675"
android:textSize="25sp" />
<EditText
android:id="@+id/et"
android:layout_width="0dp"
android:paddingRight="25dp"
android:layout_height="wrap_content"
android:hint="Enter Total"
android:gravity="center_horizontal"
android:textColor="#049C7A"
android:textColorHint="#B3049C7A"
android:inputType="numberDecimal"
android:imeOptions="actionDone"
android:maxLength="7"
android:textSize="30sp"
android:layout_weight="3"/>
</LinearLayout>
The Reason I have that is because I am trying to avoid my app from setting my EditText as a focus as soon as the activity starts. As far as I am aware I do not know of any other methods that can work around that. Let me know what you think I should do.
kva123 said:
Hey sorry for the late response I just figured out what the problem was but now I have no idea how to fix it. The problem is here
Code:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="10dp"
android:padding="10dp"
android:descendantFocusability="beforeDescendants"
[COLOR="Red"]android:focusableInTouchMode="true" //This Right here is the problem[/COLOR]
android:weightSum="6" >
<TextView
android:id="@+id/billtotalTV"
android:layout_width="0dp"
android:paddingLeft="25dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Bill Amount:"
android:textColor="#B34F6675"
android:textSize="25sp" />
<EditText
android:id="@+id/et"
android:layout_width="0dp"
android:paddingRight="25dp"
android:layout_height="wrap_content"
android:hint="Enter Total"
android:gravity="center_horizontal"
android:textColor="#049C7A"
android:textColorHint="#B3049C7A"
android:inputType="numberDecimal"
android:imeOptions="actionDone"
android:maxLength="7"
android:textSize="30sp"
android:layout_weight="3"/>
</LinearLayout>
The Reason I have that is because I am trying to avoid my app from setting my EditText as a focus as soon as the activity starts. As far as I am aware I do not know of any other methods that can work around that. Let me know what you think I should do.
Click to expand...
Click to collapse
So you mean it works perfectly without the focusableInTouchMode="true"? Strange... Then just leave the focus there and hide the softkeyboard in your onCreate() or is there any other reason you don't to have it in focus except for the soft keyboard popping up? (Then set the focus to another view might be the easiest ).
SimplicityApks said:
So you mean it works perfectly without the focusableInTouchMode="true"? Strange... Then just leave the focus there and hide the softkeyboard in your onCreate() or is there any other reason you don't to have it in focus except for the soft keyboard popping up? (Then set the focus to another view might be the easiest ).
Click to expand...
Click to collapse
I tried hiding the softkeyboard but for some reason it wont hide it just keeps popping up. And he main reason I do not want a focus is because I have a drawerlayout on the app and it contains 3 edit texts so everytime I open the drawer layout it invokes the keyboard to pop up and it selects the edit text which I do not want because its a feature where users may customize the value which they dont need to if they dont want too. As of setting focus to another view I believe I tried that but the edit text still receives the focus for some reason. Mind giving me an example of setting focus on something else? So i can make sure I am doing it right. Maybe a Linear or Relative Layout .
I just tried to hide the keyboard and just realized I am already hiding the keyboard but I am only hiding the default keyboard not the custom keyboard. So my question for you would be how would I hide the Custom Keyboard from showing oncreate?(tried this but no luck customKeyboard.hideCustomKeyboard(); ) it still shows but it does work because i tried it with an onlclick just not working on start. Not sure if you need to edit the customkeyboard java file. If you want I can post the test code im working with right now if you dont mind looking at it.

[WIDGET][YotaPhone2]Yota Toolbelt 1.0.4

Introduction
What is it?
Yota Toolbelt is my stab at developing something useful for the Yotaphone 2. It's a functional widget for the back screen, combined with a simple front screen widget. It has been tested on the latest Lollipop firmware (1.44).
What it does?
- The front screen widget allows you to toggle mirroring mode with a single click.
- The back screen widget allows you to toggle mirroring, wifi, Bluetooth, wifi tethering, ringer mode and YotaEnergy. Additionally you can place shortcuts to URLs to open your favorite websites quickly.
- The new "Contact list" action allows you to browse your contact list, make calls and send SMS's from it.
Click to expand...
Click to collapse
Images
{
"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"
}
Check the screenshots tab for more
Click to expand...
Click to collapse
Installation instructions
I'm not going to bother putting this on Google Play because of the extra work with little benefit, so you have to install the apk manually. Here's how:
1. Check "allow installation of apps from unkown sources" from Settings - Security so that you can install the file.
2. Download the apk file and put it on your phone, or download it to your phone directly.
3. Open the apk file with some file manager and install it.
After this you can add the front screen widget like you would add any widget, by long pressing your home screen, selecting widgets, and then dragging the "Yota Toolbelt" on your home screen.
The back screen widget can be added from Yotahub.
Click to expand...
Click to collapse
Download
Download here (1.0.4)
Click to expand...
Click to collapse
Changelog
Code:
Current changelog: 2015-07-11
Version 1.0.4
- [NEW] Toggle for Wifi tethering.
- [NEW] Toggle for ringer mode: Normal/Vibrate (Toggling silent mode is simply not possible on Lollipop - Thanks Google!)
- [CHANGE] Added shortcuts to related system settings on long press to all but the Mirror widget in the config utility.
Old change logs:
Code:
Version 1.0.3
- [NEW] General settings for Contact list. These settings affect ALL INSTANCES of contact lists.
---- Choose the sort order
---- Choose name format
---- Choose dialer (EPD / mirrored). This should be changed only if you are having trouble making calls from the Contact list.
---- Lock EPD automatically when calling from Contact list to prevent accidental presses.
- [NEW] Added fast scroll support for the Contact list
- [FIX] Fixed Contact list not always closing after sending SMS or making a call
- [FIX] Fixed Mirror widget starting in incorrect state when mirrored.
Version 1.0.2
- [NEW] Contact list
- [FIX] Fixed a bug where widgets would not react after a while
Version 1.0.1
- [NEW] More advanced configuration utility
- [NEW] Battery level monitor / YotaEnergy toggle
- [NEW] Support for bookmark shortcuts that can be opened in EPD browser
or the default system browser in mirrored mode
- [NEW] Support for all widget sizes
- [NEW] Support for white theme
- [CHANGE] Changed the graphics to follow Yota's icons more closely.
Click to expand...
Click to collapse
Known issues
- This Widget requires Lollipop to work. No backwards compatibility.
- The battery widget doesn't have push effect. Also, toggling YotaEnergy on takes surprisingly long time. There's nothing I can do about that.
Click to expand...
Click to collapse
FAQ
The graphics.. They look.. ehrm..
- Awesome, right!? I'm a programmer, not an artist. If someone wants to create new graphics for the widget, I am very willing to change them. Each button should be the same size, at least 140x140px.
What are all these permissions?
- Bluetooth/Wifi/Network permissions are required for toggling wifi and Bluetooth directly without the system's dialogs.
- The vibration permission allows the buttons to vibrate on click.
- The READ_CONTACTS permission is for the new contact list portion, allowing it to list your contacts.
- The PHONE_CALL permission is for making a call using the front screen's dialer.
- The READ_PHONE_STATE is used for making the "lock EPD on dial" function work
Click to expand...
Click to collapse
For developers
I had to do some serious reverse engineering to figure out how to activate and deactivate the mirroring and YotaEnergy, so to save everyone's time, here's how to do it:
Activate mirroring from front screen:
Code:
Intent i = new Intent("yotaphone.intent.action.MIRRORING_START");
context.sendBroadcast(i);
i = new Intent("yotaphone.intent.action.MIRRORING_START_MANUAL");
context.sendBroadcast(i);
Activate mirroring from back screen:
Code:
Intent i = new Intent("yotaphone.intent.action.MIRRORING_START_FROM_BS");
context.sendBroadcast(i);
Deactivate mirroring:
Code:
Intent i = new Intent("yotaphone.intent.action.MIRRORING_STOP");
context.sendBroadcast(i);
To check is mirroring on right now, and to lock the EPD (asynchronous):
Code:
ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
IFrameworkService mService = IFrameworkService.Stub.asInterface(service);
boolean isMirroringOn = mService.isMirroringOn();
mService.lockBackScreen();
}
public void onServiceDisconnected(ComponentName className) {}
};
Intent i = new Intent("yotaphone.intent.action.GET_SERVICE_BINDER").setPackage("com.yotadevices.yotaphone2.bsmanager");
context.getApplicationContext().bindService(i, mConnection, Context.BIND_AUTO_CREATE);
//Remember to unbind when you don't need the service anymore
To detect when mirroring is started, listen for the following broadcast:
Code:
yotaphone.intent.action.MIRRORING_START
To detect when mirroring ends, listen for both of these broadcasts:
Code:
yotaphone.intent.action.MIRRORING_STOP_MANUAL
yotaphone.intent.action.MIRRORING_STOP
To turn YotaEnergy on:
Code:
final Intent i = new Intent("yotaphone.intent.action.POWERSAVE_START");
context.sendBroadcast(i);
To turn YotaEnergy off:
Code:
final Intent i = new Intent("yotaphone.intent.action.POWERSAVE_STOP");
context.sendBroadcast(i);
To open Yota's EPD browser:
Code:
Intent i = new Intent();
i.setComponent(new ComponentName("com.yotadevices.yotaphone.yd_browser", "com.yotadevices.yotaphone.yd_browser.BSBrowser"));
i.putExtra("URL_TO_OPEN", "http://www.google.com");
context.startService(i);
Click to expand...
Click to collapse
XDA:DevDB Information
Yota Toolbelt, Device Specific App for the YotaPhone
Contributors
Jeopardy
Version Information
Status: Stable
Current Stable Version: 1.0.4
Stable Release Date: 2015-07-11
Created 2015-06-28
Last Updated 2015-07-11
Suggest features
I am open to suggestions for functions to add. Functions I've considered:
Flashlight - this one's doable, but it seems a little pointless. How are you going to turn the flashlight on in the dark when there's no backlight on the EPD?
Volume/Vibrate/Silent toggle - Probably doable, but requires some work so that it's easy to use.
Rotation lock - Not sure about this, but pointless anyway. The rear screen doesn't support horizontal view in the first place, unless you're mirroring, and then you might as well use widgets on your front screen.
Airplane mode - This one requires root access, and is quite hacky to implement.
NFC toggle - Cannot be done without root.
GPS toggle - Cannot be done without root.
Any ideas?
Thanks for doing this.
You might want to add Hotspot and data network
Would you be able to add Shortcuts? That would be very useful and its a shame the stock app does not allow this.
All Day On XDA said:
Thanks for doing this.
You might want to add Hotspot and data network
Would you be able to add Shortcuts? That would be very useful and its a shame the stock app does not allow this.
Click to expand...
Click to collapse
I'll look into your suggestions. I think the hotspot function required root access, and that is not very user friendly.
About the shortcuts - Isn't the stock Apps Launcher widget exactly what you're looking for?
Jeopardy said:
I'll look into your suggestions. I think the hotspot function required root access, and that is not very user friendly.
About the shortcuts - Isn't the stock Apps Launcher widget exactly what you're looking for?
Click to expand...
Click to collapse
the stock app allows links to apps only. Shortcuts are a subset of apps that can be added to the desktop. Eg in Google Maps you can create a shortcut on your homescreen that starts directions to a pre set destination. Or eg Chrome allows shortcuts to websites to be placed on the homescreen.
Edit: This may be beyond the scope of this widget. Apologies
All Day On XDA said:
the stock app allows links to apps only. Shortcuts are a subset of apps that can be added to the desktop. Eg in Google Maps you can create a shortcut on your homescreen that starts directions to a pre set destination. Or eg Chrome allows shortcuts to websites to be placed on the homescreen.
Edit: This may be beyond the scope of this widget. Apologies
Click to expand...
Click to collapse
Ah, I see. I've never used these before.
It is possible yes, but the biggest issue here is how you create and associate them to the widget. By default the shortcuts are created by the applications, like Chrome and Google Maps, and those applications send the shortcut Intent to the Launcher application. There is no way of telling the system that the shortcut should show up on this widget.
It probably could be possible to create these shortcuts manually for supported applications, like Chrome, but that would require quite a lot of work.
Nice work @Jeopardy! Thanks for sharing some dev notes too, might be useful for future widgets/apps.
PS You could officially kick off the "YotaPhone Original Android Development" device subforum with your widget (0 threads there now).
SteadyQuad said:
Nice work @Jeopardy! Thanks for sharing some dev notes too, might be useful for future widgets/apps.
PS You could officially kick off the "YotaPhone Original Android Development" device subforum with your widget (0 threads there now).
Click to expand...
Click to collapse
Thank you. Yeah I was wondering for the right place to put this. Now that you mentioned it, I guess the proper place would be the Original Android Development, but to put it there now would require a moderator.
Jeopardy said:
I am open to suggestions for functions to add. Functions I've considered:
Flashlight - this one's doable, but it seems a little pointless. How are you going to turn the flashlight on in the dark when there's no backlight on the EPD?
Volume/Vibrate/Silent toggle - Probably doable, but requires some work so that it's easy to use.
Rotation lock - Not sure about this, but pointless anyway. The rear screen doesn't support horizontal view in the first place, unless you're mirroring, and then you might as well use widgets on your front screen.
Airplane mode - This one requires root access, and is quite hacky to implement.
NFC toggle - Cannot be done without root.
GPS toggle - Cannot be done without root.
Any ideas?
Click to expand...
Click to collapse
Since I am using the "default" black theme I would prefer to have an option to switch between "black" and "white" version. I already created the changed images to basically switch your images to "all transparent" with white icons and a white circle around them for "pressed status". Since I am a new user I can't attach them to the post yet. Can you tell me a way to share them with you?
Besides that: can you share the sources of your widget to allow us to build upon it ourselves?
Thanks for your work on this!
crazy-ivanovic said:
Since I am using the "default" black theme I would prefer to have an option to switch between "black" and "white" version. I already created the changed images to basically switch your images to "all transparent" with white icons and a white circle around them for "pressed status". Since I am a new user I can't attach them to the post yet. Can you tell me a way to share them with you?
Besides that: can you share the sources of your widget to allow us to build upon it ourselves?
Thanks for your work on this!
Click to expand...
Click to collapse
I just sent you a private message about those images.
I'll consider sharing the source later. At the moment it is rather messy and very much hardcoded. I am currently rewriting the configuration Activity to allow rearranging of the icons and adding some new functions. It will take some time for me to finish this to a level I'm satisfied with.
Jeopardy said:
I just sent you a private message about those images.
I'll consider sharing the source later. At the moment it is rather messy and very much hardcoded. I am currently rewriting the configuration Activity to allow rearranging of the icons and adding some new functions. It will take some time for me to finish this to a level I'm satisfied with.
Click to expand...
Click to collapse
Mail sent.
Thanks for the info. Looking forward to see updates to this useful tool (and the first widget posted in here!).
All Day On XDA said:
the stock app allows links to apps only. Shortcuts are a subset of apps that can be added to the desktop. Eg in Google Maps you can create a shortcut on your homescreen that starts directions to a pre set destination. Or eg Chrome allows shortcuts to websites to be placed on the homescreen.
Edit: This may be beyond the scope of this widget. Apologies
Click to expand...
Click to collapse
I just released an update which addresses your idea of shortcuts for system's default browser (Chrome) and EPD's browser. Now the widget's framework is so flexible that it is very easy to add new shortcut targets. The only problem (still) is that the shortcuts have to be created manually from the widget, which means relatively complex dialogs. Shortcuts for browser is extremely handy, but can you think of some other app whose shortcuts would be as useful?
i have try it on my Yota 2 4.4.3 apk not work !
9100_it said:
i have try it on my Yota 2 4.4.3 apk not work !
Click to expand...
Click to collapse
That was to be expected. I don't think they included the SDK library until Lollipop. Sorry.
Major update
Okay, here's a new update for you guys.
First off, the minor (but important fixes) include fixing nonresponsive buttons if the device has been inactive for a long time, and some minor optimizations.
The big new function is a fully functional contacts list! I had been working on this for a while, waiting for Yota to update their caller app so I wouldn't have to do it. But it seems they are busy doing something else. So I became impatient and decided to include it here, as it needs an EPD widget anyway to launch it. So just add the contact list widget to the toolbelt from options, open it from the back screen, and you can browse all your contacts (with phone numbers) and then call them directly from the EPD. It also supports sending SMS's, but the catch is that it uses the front screen SMS editor via mirroring, not Yota's sleek EPD editor. The reason for this is there's no way to hook up to Yota's editor.
While I was building this update I also noticed quite serious security flaw in Yota's EPD dialer app. By default if you want to make a phone call from your app you need to add android.permission.CALL_PHONE to your manifest. However, I found out that Yota has left their EPD dialer app completely open for any app to ask for immediate phone call (like mine does), without any permissions what-so-ever. What were they thinking?
It also became frustratingly clear how bad the SDK is at the moment. The documentation is nonexistent, and you cannot even create dialogs. So many workarounds had to be made to make this work nicely.
But anyways, let me hear your opinions and experiences. There's bound to be some bugs somewhere and there's plenty of room to expand the contact list portion, provided I have the time.
Looking forward to trying the newest version. Thanks for building this!
You might want to consider contacting the Indiegogo campaign folks, as it looks like you've earned yourself a free phone. I can't post the link because I guess I'm too new a user on here, but if you look at the updates and scroll down to "25 days ago":
FYI: If anyone successfully develops an application or service to work natively for the "always on" display I will reward them with a YotaPhone 2 for FREE at the end of the campaign!
Click to expand...
Click to collapse
MichaelA said:
Looking forward to trying the newest version. Thanks for building this!
You might want to consider contacting the Indiegogo campaign folks, as it looks like you've earned yourself a free phone. I can't post the link because I guess I'm too new a user on here, but if you look at the updates and scroll down to "25 days ago":
Click to expand...
Click to collapse
Wow, might as well try it. Thanks for the info!
Hi thanks for standing in where yota appear to lack
just downloaded and installed but although the contacts list works well the phone dialer doesnt but i do have a call confirm slider app (used to stop wrongly dialed numbers) which could block this (it does the same with yota dialer)
only way i have managed to work around this is to mirror the android dialer app but would be nice if you could? do anything?
like your commitment to develop - think you should look at a donate function somewhere..would buy you a coffee or two for your efforts
regards
kam1962 said:
Hi thanks for standing in where yota appear to lack
just downloaded and installed but although the contacts list works well the phone dialer doesnt but i do have a call confirm slider app (used to stop wrongly dialed numbers) which could block this (it does the same with yota dialer)
only way i have managed to work around this is to mirror the android dialer app but would be nice if you could? do anything?
like your commitment to develop - think you should look at a donate function somewhere..would buy you a coffee or two for your efforts
regards
Click to expand...
Click to collapse
Basically what I do, is ask the official EPD dialer to make the phone call for me. If your call confirm slider app blocks the yota dialer, it will also block this. I guess you cannot add exceptions to the caller app? (Probably not, knowing Android's telephony API...)
An ugly workaround for your specific case would be for me to turn mirroring on when you press the call-button from my contacts list, and then ask the system's default dialer to make the call. Then your call confirm slider app would show up normally in the mirrored mode and you could finish the call. I might consider adding this later on as a setting somewhere, but no promises. It would be a lot cleaner if the mirroring mode would not be needed to finish the call, because turning it on takes quite a while and is a hassle to deal with when trying to do simple actions.
What is the name of the app you are using? I'll take a look.
call confirm
Jeopardy said:
Basically what I do, is ask the official EPD dialer to make the phone call for me. If your call confirm slider app blocks the yota dialer, it will also block this. I guess you cannot add exceptions to the caller app? (Probably not, knowing Android's telephony API...)
An ugly workaround for your specific case would be for me to turn mirroring on when you press the call-button from my contacts list, and then ask the system's default dialer to make the call. Then your call confirm slider app would show up normally in the mirrored mode and you could finish the call. I might consider adding this later on as a setting somewhere, but no promises. It would be a lot cleaner if the mirroring mode would not be needed to finish the call, because turning it on takes quite a while and is a hassle to deal with when trying to do simple actions.
What is the name of the app you are using? I'll take a look.
Click to expand...
Click to collapse
thanks for reply been searching for it but cannot find it anywhere on app store!!! so guessing its gone
must have transferred from old phone or it just been removed from market this year? cannot remember
its called call confirm slider version 0.9.1 icon is black circle with telephone handset inside but dont have any other details.
had it for a few years now and has been stable / reliable
very similar to this
https://play.google.com/store/apps/details?id=com.callconfirmer.free
regards

Categories

Resources