Andmore has passed Trademark Review

Andmore has passed trademark review at the Eclipse Foundation.   So what is next?  When can you have a working version of the IDE?    This is something that the project committers will be getting together to discuss over the coming weeks.  The project still needs to be provisioned and setup within the foundations bugzilla, automated builds need to be setup, package names need to be renamed, as well as extension points.

One of the goals is to keep the base functionality working, and to provide the necessary extension points where needed so that adopters can extend it where necessary.  We also want to make sure that regardless of the build platform you choose, i.e. eclipse, gradle, maven, ant, or batch scripts, you can have an integrated development environment for what ever comes in the future.   The only true constant besides the speed of light, is change, and we want the community to be involved in shaping that change and the platform features coming.

I look forward to helping shape the future, and to working with the Android Open Source Project to help build off the base platform of ADT and Moto Dev studio.   Together as a community we can make Andmore a good Android development platform.

In the mean time, the current code base may be downloaded and built from the GitHub project site:

https://github.com/kingargyle/andmore

Posted in android, eclipse | Tagged , | 3 Comments

And the Choosen One is…….

Andmore with 38% of the vote.  Final voting results are below.

Screen Shot 2014-10-21 at 10.07.02 AM

This still needs to go through trademark approval.  If Andmore doesn’t pass then it will be Eldon, followed by Reuben, and then finally Origami.

Posted in android, eclipse | Tagged , | 2 Comments

The Final Four

The proposed Android Tooling Project for Eclipse has narrowed it down to four possible names. It needs the eclipse community to help chose which one will win out. A straw poll has been created to select the winner.

http://strawpoll.me/2781013

The four finalists are in no particular order:

  • Reuben
  • Eldon
  • Oragami
  • Andmore

The original bug tracking the nominations can be found here:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=446172

Polling is open until October 21, 2014.

Posted in android, eclipse | Tagged , | 1 Comment

Resolving the dual ItemClick conundrum for the Android Gallery View

Yes, the Gallery View is deprecated, however currently there really isn’t an out of the box solution to what the gallery view provides, which is a center locked horizontal scrolling list of items. The Twoway-view project has some potential in addressing this need, but it needs time to mature a bit.

There are many issues with the Gallery view, but one of the most significant is if you need the ability to show context menus for an item. If you are using it with a D-Pad (say in an Android TV application), and you long press on an item using D-PAD OK, or BUTTON-A, you’ll get both ItemLongClick and ItemClick events fired by the gallery. This has been a long standing bug within the app, an has plagued me for years. I finally tracked it down and created the following gist that can be applied to a custom version of the Gallery.

Basically, what was happening is that the onKeyUp event that fired the ItemClick event never checked to see if the dispatchLongPress event had already handled the event. So it was always firing the ItemClick event. The gist makes this small change, and actually eliminates numerous work arounds that had to be done to get context menus to show with the gallery.

This bug only affects you if you needed to use a D-PAD, Remote Control, or Game Controller as an input device. Normal touch screen events are handled correctly.

Posted in android, googletv, open source | Leave a comment

Creating Android TV Recommendations

I’m in the process of integrating Serenity for Android with the new Android TV platform.   One of the items is to add Recommendations for Movies and TV Shows to watch.  These will appear along side other apps recommendations.    Android TV makes use of the Notification API to build and display the recommendations, and it is fairly straight forward to implement.

The main items that you need do are as follows:

  1. Create an IntentService that can fetch and contribute the recommendations.
  2. Schedule the IntentService to run periodically after the device has booted to update its recommendations.
  3. Handle refreshing the recommendations after your video has completed if necessary.

To help others, I have created a Gist that shows what was necessary to implement this for Serenity.  The overall implementation took maybe a half a day, and lot of that was making sure that Android Universal Image Loader wasn’t running on the main thread.

Posted in android, googletv, open source, serenity | Leave a comment

Proteus Android IDE

Almost two years ago, MotoDev Studio was open sourced.  The code has sat idle in the git repositories.  MotoDev provided a lot of useful tools and additional functionality that was missing.  It provided better device integration and file exploring, a great repository of snippets, and kick ass Internationalization editor.   Since it was opened source, Google has gone a different direction with Android development, concentrating on Android Studio, and only providing bug fixes and tooling updates for the Android Development Tools based on eclipse.

I recently had an itch to resurrect the MotoDev studio plugins, and thus the Proteus Android IDE was born.  It leverages ADT 23.0.x, and includes the MotoDev basic functionality.   However it doesn’t stop there, it also is built off Eclipse Kepler, and includes, Maven and the Android Maven Connector, allow for consumption of maven artifacts.   In addition, Mylyn, Mylyn Reviews, the Gerrit Connector, EGit, and Github connectors are included.   Also included is the Gradle Tooling plugins from SpringSource.

The addition of these plugins on top of ADT, help form the basis going forward for hopefully a first class IDE for Android development based on eclipse.

The goal currently is to provide a community supported project where additional Android tooling can be done that extends and addresses the issues around ADT.   Eclipse developers and particularly corporate consumers should be able to leverage and use the tools they know and love.

Right now Proteus is a person project, and one that has a lot of other things going on.   So it needs help to survive and thrive.   This is where the eclipse community comes into play.   The project is hosted on GitHub, it is licensed under an Eclipse Development License 1.0, with MotoDev residing under Apache 2.0.     You can get the current code, from the link below:

https://github.com/kingargyle/proteus

Binaries and more information about the project can be found at the wiki:

https://github.com/kingargyle/proteus/wiki/Proteus-IDE

The project will need a community to form around it to survive and thrive long term.  It will be what the eclipse android community makes it.  So feel free to Fork the code, play around with it, and send in pull requests.   Maybe together we can make the Android IDE that we deserve.

 

Posted in android, eclipse, maven, mylyn | 3 Comments

Maven, Android L, Android TV, and a bit less hair.

While working on upgrading my app for Android TV.  I ran into some build issues.  There are problems with the way the Android L support libaries define their depenencies in the m2repository that comes with the SDK.   In general they are not specifying the Type for the depenency to be AAR, but leaving it without a type.   So for tools like Maven, this means it defaults to looking for a JAR.  However the m2repository doesn’t contain these artifacts as jars, only as AARs.   So builds fail, cats and dogs start sleeping together, and forces of Xul start to take over the world.

To get around this issue, one needs to setup some exclusions and then include the necessary AARs as dependencies.  Its ugly, it shouldn’t have to be done, but it works.   So with out further ado, if you need to use the v17-leanback support library here is the magic sauce.

      <dependency>
         <groupId>com.android.support</groupId>
         <artifactId>support-v4</artifactId>
         <version>21.0.0-rc1</version>
         <type>aar</type>
      </dependency>
       <dependency>
           <groupId>com.android.support</groupId>
           <artifactId>support-annotations</artifactId>
           <version>21.0.0-rc1</version>
       </dependency>
      <dependency>
         <groupId>com.android.support</groupId>
         <artifactId>leanback-v17</artifactId>
         <version>21.0.0-rc1</version>
         <type>aar</type>
          <exclusions>
              <exclusion>
                      <groupId>com.android.support</groupId>
                      <artifactId>recyclerview-v7</artifactId>
              </exclusion>
              <exclusion>
                  <groupId>com.android.support</groupId>
                  <artifactId>support-v4</artifactId>
              </exclusion>
          </exclusions>
      </dependency>
      <dependency>
         <groupId>com.android.support</groupId>
         <artifactId>recyclerview-v7</artifactId>
         <version>21.0.0-rc1</version>
         <type>aar</type>
          <exclusions>
              <exclusion>
                  <groupId>com.android.support</groupId>
                  <artifactId>support-v4</artifactId>
              </exclusion>
          </exclusions>
      </dependency>

Hopefully if you are using the android-maven-plugin to build your app, this brings a bit of sanity to building your Android L enabled apps.

 

Posted in android, googletv, maven, open source, serenity | Leave a comment