Code Monkey home page Code Monkey logo

android-xbmcremote-sandbox's People

Contributors

freezy avatar jstemmer avatar n3utrino avatar syncedsynapse avatar yanniks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

android-xbmcremote-sandbox's Issues

Make data synchronization more efficient

Right now, importing 1200 artists and 500 albums takes about 10 seconds on a Nexus S. This seems pretty slow. The current algorithm is as follows:

  • Read HTTP body into a String buffer
  • Use JSONTokenizer to serialize it into a JSONObject
  • Loop through the JSONArray of the response
  • INSERT each item (ON CONFLICT REPLACE constraint on the ID will remove duplicate entries)
  • DELETE items with timestamp < current time

It's probably faster to just update current entries. Ideas in the comments.

Add some dynamic to the action bar

Since we have tab hosts the action bar stays pretty much static for every tab. Add some mechanism that allows customization per tab, such as not displaying (or graying out) the refresh button when a "live" list is displayed.

ActionBar

Was there compelling reason to create a homegrown action bar support instead of using ActionBarSherlock (http://www.github.com/JakeWharton/ActionBarSherlock)? It is a mature and full featured product.
I was planning on creating my own fork of xbmc-remote with fragment layouts and drawer-navigation; with dependencies on ActionBarSherlock and my own v4 support library fork (which is compatible with ActionBarSherlock and NineOldAndroids.. http://kedzie.github.io/Support_v4_NineOldAndroids). But I would love to take advantage of work you've done so far with the offline database, JSON, and fragments. Would you consider merging our efforts?

Act on headset buttons, and broadcast "Now Playing" events

I'm developing a fork of the Android driver app for MetaWatch (metawatch.org) - something that would be really neat would be for the xbmc remote app to integrate with the watch (so that I could, for example, pause the current program directly from my watch - A remote for a remote!)

Basically all that would be required would be:

  1. Listen to the headset play/pause/skip intents and act accordingly
  2. Broadcast a "Now playing" intent the way music players do.

(1) would make the watch app's existing media controls "just work" - (2) would let me listen for those intents, and display the now playing info on the watch's screen.

Should the database be synced every time music is opened?

Should we only sync the database when the refresh button is pressed? At the moment every time Music is opened the database is re-synced. Or should we do it when the application is opened?

On very large libraries this could slow the phone down a lot?

Images do not load with password set.

Looks like the image library (glide?) is not set to send the account credentials as HTTP basic auth, so you get no images back, even if the jsonrpc works fine.

Lists do not always automatically refresh

I have noticed that if you clear the database then click on Music it populates the database with data but does not update the list view. Sometimes switching tabs updates the list, other times it does not.

After the database is populated getContentResolver().notifyChange(uri, null); is called but this does not seem to trigger a list update.

Project using unsupport Version of Android Gradle Plugin

I just forked this repository and tried to import it in my IntelliJ. I opened the repository's root in IntelliJ,

In IntelliJ, there's no directory, only files: .gitignore, .gitmodules, build.gradle, etc.

So, when I go to File -> Project Settings -> Modules there is no module. When I try to "Import Module" and select build.gradle, I get the following error message after a while:

The project is using an unsupported version of the Android Gradle plug-in (0.9.2). The recommended version is 0.14.2.

Consult IDE log for more details (Help | Show Log)

Any help appreciated.

Prepare tablet layout

This one is not about designing a graphical layout that works for tablets, but organizing the code in a way that it is maintainable for tablets and phones.

exceptions when swiping down to sync

I'm building using android studio 0.4.5 on arch linux. I have my xbmc install listening on port 3737, and the remote did not find the xbmc instance. manual configuration seemed to work, but when I swipe down to sync:

02-18 09:24:21.464 8693-8742/org.xbmc.android.remotesandbox E/AndroidRuntime﹕ FATAL EXCEPTION: IntentService[ConnectionService]
Process: org.xbmc.android.remotesandbox, PID: 8693
java.lang.NullPointerException
at org.xbmc.android.app.io.audio.ArtistHandler.parse(ArtistHandler.java:65)
at org.xbmc.android.jsonrpc.io.JsonHandler.applyResult(JsonHandler.java:76)
at org.xbmc.android.jsonrpc.service.ConnectionService.notifyClients(ConnectionServi​ce.java:330)
at org.xbmc.android.jsonrpc.service.ConnectionService.onHandleIntent(ConnectionServ​ice.java:224)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.os.HandlerThread.run(HandlerThread.java:61)

Not running in emulator, running on my phone w/ CM 11.0, my own custom build of CM

crash entering music

Load app
Click on Music
Press back (hardware key)
Click on Music
Crashes as getActivity() is null. Line 88 org.xbmc.android.remotesandbox.ui.phone.DashboardFragment.java

Instead of pressing back hardware key you press the top left icon it does not crash next time you click on Music.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.