diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index b1a6aa6..7cb28f9 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,7 +2,6 @@
-
@@ -13,7 +12,7 @@
android:theme="@style/AppTheme" >
+ android:label="Music Cyclon" >
@@ -31,15 +30,6 @@
-
-
-
-
-
-
-
diff --git a/app/src/main/java/max/music_cyclon/ControlWidget.java b/app/src/main/java/max/music_cyclon/ControlWidget.java
deleted file mode 100644
index 8b07785..0000000
--- a/app/src/main/java/max/music_cyclon/ControlWidget.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package max.music_cyclon;
-
-import android.app.PendingIntent;
-import android.appwidget.AppWidgetManager;
-import android.appwidget.AppWidgetProvider;
-import android.content.Context;
-import android.content.Intent;
-import android.widget.RemoteViews;
-
-
-
-public class ControlWidget extends AppWidgetProvider {
-
- @Override
- public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
- for (int appWidgetId : appWidgetIds) {
- updateAppWidget(context, appWidgetManager, appWidgetId);
- }
- }
-
- static void updateAppWidget(Context context, AppWidgetManager appWidgetManager,
- int appWidgetId) {
-
- CharSequence widgetText = context.getString(R.string.control_button);
-
- RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.control_widget);
- views.setTextViewText(R.id.control_button, widgetText);
-
- Intent intent = new Intent(context, LibraryService.class);
- PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);
- views.setOnClickPendingIntent(R.id.control_button, pendingIntent);
-
-
- appWidgetManager.updateAppWidget(appWidgetId, views);
- }
-}
-
diff --git a/app/src/main/java/max/music_cyclon/LibraryService.java b/app/src/main/java/max/music_cyclon/LibraryService.java
index 3255bcd..ebb8e2e 100644
--- a/app/src/main/java/max/music_cyclon/LibraryService.java
+++ b/app/src/main/java/max/music_cyclon/LibraryService.java
@@ -10,13 +10,17 @@ import android.support.v4.app.NotificationManagerCompat;
import android.util.JsonReader;
import android.util.Log;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
-import java.io.InputStream;
import java.io.InputStreamReader;
-import java.net.URL;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.concurrent.CountDownLatch;
@@ -42,11 +46,20 @@ public class LibraryService extends IntentService {
this.port = port;
}
- public List fetchRandom(int amount) throws IOException {
- URL url = new URL("http", host, port, "/random/" + amount);
- InputStream in = url.openStream();
+ public List fetchRandom(String address, int amount) throws IOException {
+ CloseableHttpClient httpclient = HttpClients.createDefault();
- JsonReader reader = new JsonReader(new BufferedReader(new InputStreamReader(in, "UTF-8")));
+ HttpGet httpGet = new HttpGet(address + "/random/" + amount);
+
+
+ CloseableHttpResponse response = httpclient.execute(httpGet);
+
+ if (response.getStatusLine().getStatusCode() != 200) {
+ Log.e("ERROR", "Server returned HTTP " + response.getStatusLine().getStatusCode());
+ return Collections.emptyList();
+ }
+
+ JsonReader reader = new JsonReader(new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")));
ArrayList items = new ArrayList<>();
@@ -75,6 +88,8 @@ public class LibraryService extends IntentService {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(this);
ExecutorService executor = Executors.newFixedThreadPool(Integer.parseInt(settings.getString("threads", "2")));
+ String address = settings.getString("address", "127.0.0.1");
+
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
NotificationCompat.Builder builder = progressNotificationBuilder().setContentTitle("Aktualisiere Musik");
@@ -94,7 +109,7 @@ public class LibraryService extends IntentService {
try {
builder.setContentTitle("Fetching music information");
notificationManager.notify(NOTIFICATION_ID, builder.build());
- items = fetchRandom(Integer.parseInt(settings.getString("download", "10")));
+ items = fetchRandom(address, Integer.parseInt(settings.getString("download", "10")));
builder.setContentTitle("Cleaning library");
notificationManager.notify(NOTIFICATION_ID, builder.build());
@@ -119,7 +134,7 @@ public class LibraryService extends IntentService {
CountDownLatch latch = new CountDownLatch(items.size());
for (int i = 0, size = items.size(); i < size; i++) {
- executor.submit(new ProcessTask(latch, items.get(i), tracker,
+ executor.submit(new ProcessTask(address, latch, items.get(i), tracker,
current, items.size(), builder, notificationManager));
}
diff --git a/app/src/main/java/max/music_cyclon/PowerConnectionReceiver.java b/app/src/main/java/max/music_cyclon/PowerConnectionReceiver.java
index ee834b2..cec2421 100644
--- a/app/src/main/java/max/music_cyclon/PowerConnectionReceiver.java
+++ b/app/src/main/java/max/music_cyclon/PowerConnectionReceiver.java
@@ -15,7 +15,7 @@ public class PowerConnectionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
- boolean start = Boolean.parseBoolean(settings.getString("start_charging", "false"));
+ boolean start = settings.getBoolean("start_charging", false);
if (!start) {
return;
diff --git a/app/src/main/java/max/music_cyclon/ProcessTask.java b/app/src/main/java/max/music_cyclon/ProcessTask.java
index 07ab086..9fff230 100644
--- a/app/src/main/java/max/music_cyclon/ProcessTask.java
+++ b/app/src/main/java/max/music_cyclon/ProcessTask.java
@@ -22,6 +22,7 @@ import java.util.zip.Adler32;
public class ProcessTask implements Runnable {
+ private String address;
private final CountDownLatch latch;
private final String item;
@@ -32,8 +33,9 @@ public class ProcessTask implements Runnable {
private final NotificationCompat.Builder builder;
private final NotificationManagerCompat notificationManager;
- public ProcessTask(CountDownLatch latch, String item, FileTracker tracker,
- AtomicInteger current, int maximum,NotificationCompat.Builder builder, NotificationManagerCompat notificationCompat) {
+ public ProcessTask(String address, CountDownLatch latch, String item, FileTracker tracker,
+ AtomicInteger current, int maximum, NotificationCompat.Builder builder, NotificationManagerCompat notificationCompat) {
+ this.address = address;
this.latch = latch;
this.item = item;
@@ -48,28 +50,30 @@ public class ProcessTask implements Runnable {
public void run() {
File root = new File(Environment.getExternalStorageDirectory(), "library");
+
try {
File target = new File(root, item);
Adler32 checksum = new Adler32();
- InputStream input = prepareConnection(item);
+ InputStream input = prepareConnection(address, item);
- if (input == null) {
- return;
+ if (input != null) {
+
+ FileOutputStream output = FileUtils.openOutputStream(target);
+
+ byte[] buffer = new byte[4 * 1024];
+ int n;
+ while (-1 != (n = input.read(buffer))) {
+ output.write(buffer, 0, n);
+ checksum.update(buffer, 0, n);
+ }
+
+ output.flush();
+ output.close();
+ input.close();
}
- FileOutputStream output = FileUtils.openOutputStream(target);
-
- byte[] buffer = new byte[4 * 1024];
- int n;
- while (-1 != (n = input.read(buffer))) {
- output.write(buffer, 0, n);
- checksum.update(buffer, 0, n);
- }
-
- output.flush();
- output.close();
- input.close();
+// todo else error
tracker.track(target, checksum.getValue());
@@ -84,26 +88,10 @@ public class ProcessTask implements Runnable {
}
}
- public InputStream prepareConnection(String item) throws IOException {
-// URL url = new URL("http", "max-arch", 5785, "/get");
-//
-// HttpURLConnection connection = (HttpURLConnection) url.openConnection();
-// connection.setRequestMethod("POST");
-// connection.setDoOutput(true);
-//
-// PrintWriter output = new PrintWriter(connection.getOutputStream());
-// output.write(item);
-// output.flush();
-//
-// if (connection.getResponseCode() != HttpURLConnection.HTTP_OK) {
-// Log.e("ERROR", "Server returned HTTP " + connection.getResponseCode()
-// + " " + connection.getResponseMessage());
-// return null;
-// }
-
+ public InputStream prepareConnection(String address, String item) throws IOException {
CloseableHttpClient httpclient = HttpClients.createDefault();
- HttpPost httpPost = new HttpPost("http://max-arch:5785/get");
+ HttpPost httpPost = new HttpPost(address + "/get");
httpPost.setEntity(new ByteArrayEntity(item.getBytes("UTF-8")));
diff --git a/app/src/main/java/max/music_cyclon/SettingsActivity.java b/app/src/main/java/max/music_cyclon/SettingsActivity.java
index 5f532d6..d8c2bcc 100644
--- a/app/src/main/java/max/music_cyclon/SettingsActivity.java
+++ b/app/src/main/java/max/music_cyclon/SettingsActivity.java
@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment;
-import android.view.View;
public class SettingsActivity extends PreferenceActivity {
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
deleted file mode 100644
index 7e2608d..0000000
--- a/app/src/main/res/layout/activity_settings.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
diff --git a/app/src/main/res/layout/control_widget.xml b/app/src/main/res/layout/control_widget.xml
deleted file mode 100644
index f6fd321..0000000
--- a/app/src/main/res/layout/control_widget.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png
index cde69bc..bfbc3ec 100644
Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png
index c133a0c..65796b0 100644
Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index bfa42f0..299323f 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 324e72c..c740149 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..07a16a7
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/values-v14/dimens.xml b/app/src/main/res/values-v14/dimens.xml
deleted file mode 100644
index 4db8c59..0000000
--- a/app/src/main/res/values-v14/dimens.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
- 0dp
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values-w820dp/dimens.xml b/app/src/main/res/values-w820dp/dimens.xml
deleted file mode 100644
index 63fc816..0000000
--- a/app/src/main/res/values-w820dp/dimens.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- 64dp
-
diff --git a/app/src/main/res/values/array.xml b/app/src/main/res/values/array.xml
deleted file mode 100644
index 0d27c0c..0000000
--- a/app/src/main/res/values/array.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
- - Headings
- - Headings and Details
- - All Data
-
-
-
- - 1
- - 2
- - 3
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
deleted file mode 100644
index fb6e235..0000000
--- a/app/src/main/res/values/dimens.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
- 16dp
- 16dp
-
-
- 8dp
-
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 01c9687..415b170 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,6 +1,3 @@
music-cyclon
-
- MUSIC
- Title
diff --git a/app/src/main/res/xml/control_widget_info.xml b/app/src/main/res/xml/control_widget_info.xml
deleted file mode 100644
index e739d0e..0000000
--- a/app/src/main/res/xml/control_widget_info.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml
index 98fb730..fac2a9a 100644
--- a/app/src/main/res/xml/preferences.xml
+++ b/app/src/main/res/xml/preferences.xml
@@ -6,6 +6,14 @@
android:summary="Starts the download"
android:title="Start Service" />
+
+
+