summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorH. Lehmann <ByteHamster@users.noreply.github.com>2019-10-23 23:11:51 +0200
committerGitHub <noreply@github.com>2019-10-23 23:11:51 +0200
commitf41bdcbaf21cc6f8172ee14ea211634292e985f3 (patch)
tree6a219c66e76ee0bd909b3f088d76fb411df1b7bf /core/src/main
parent58764f7ccbd2037eaf126f0f8b1a9916a7ae7765 (diff)
parentff44f97dd6447a2b2ac077bc547306f8a232b3cd (diff)
downloadAntennaPod-f41bdcbaf21cc6f8172ee14ea211634292e985f3.zip
Merge pull request #3544 from M-arcel/develop
Transparent widget
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java15
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java7
-rw-r--r--core/src/main/res/drawable-nodpi/teaser.pngbin0 -> 60183 bytes
-rw-r--r--core/src/main/res/layout/player_widget.xml7
-rw-r--r--core/src/main/res/values/strings.xml4
5 files changed, 28 insertions, 5 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java b/core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java
index 7663cdbe4..2e592bdf5 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java
@@ -11,11 +11,12 @@ import java.util.Arrays;
import de.danoeh.antennapod.core.service.PlayerWidgetJobService;
-
public class PlayerWidget extends AppWidgetProvider {
private static final String TAG = "PlayerWidget";
- private static final String PREFS_NAME = "PlayerWidgetPrefs";
+ public static final String PREFS_NAME = "PlayerWidgetPrefs";
private static final String KEY_ENABLED = "WidgetEnabled";
+ public static final String KEY_WIDGET_COLOR = "widget_color";
+ public static final int DEFAULT_COLOR = 0x00262C31;
@Override
public void onReceive(Context context, Intent intent) {
@@ -45,6 +46,16 @@ public class PlayerWidget extends AppWidgetProvider {
setEnabled(context, false);
}
+ @Override
+ public void onDeleted(Context context, int[] appWidgetIds) {
+ Log.d(TAG, "OnDeleted");
+ for (int appWidgetId : appWidgetIds) {
+ SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
+ prefs.edit().remove(KEY_WIDGET_COLOR + appWidgetId).apply();
+ }
+ super.onDeleted(context, appWidgetIds);
+ }
+
public static boolean isEnabled(Context context) {
SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
return prefs.getBoolean(KEY_ENABLED, false);
diff --git a/core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java b/core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java
index 4f0e84311..2f7806eff 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java
@@ -6,6 +6,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
+import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.os.Build;
import android.os.Bundle;
@@ -193,6 +194,11 @@ public class PlayerWidgetJobService extends SafeJobIntentService {
} else {
views.setViewVisibility(R.id.layout_center, View.VISIBLE);
}
+
+ SharedPreferences prefs = getSharedPreferences(PlayerWidget.PREFS_NAME, Context.MODE_PRIVATE);
+ int backgroundColor = prefs.getInt(PlayerWidget.KEY_WIDGET_COLOR + id, PlayerWidget.DEFAULT_COLOR);
+ views.setInt(R.id.widgetLayout, "setBackgroundColor", backgroundColor);
+
manager.updateAppWidget(id, views);
}
} else {
@@ -242,6 +248,5 @@ public class PlayerWidgetJobService extends SafeJobIntentService {
}
Log.d(TAG, "Disconnected from service");
}
-
};
}
diff --git a/core/src/main/res/drawable-nodpi/teaser.png b/core/src/main/res/drawable-nodpi/teaser.png
new file mode 100644
index 000000000..3b5261b28
--- /dev/null
+++ b/core/src/main/res/drawable-nodpi/teaser.png
Binary files differ
diff --git a/core/src/main/res/layout/player_widget.xml b/core/src/main/res/layout/player_widget.xml
index f8d909a97..5f49fb7ef 100644
--- a/core/src/main/res/layout/player_widget.xml
+++ b/core/src/main/res/layout/player_widget.xml
@@ -5,10 +5,12 @@
android:padding="@dimen/widget_margin" >
<RelativeLayout
+ android:id="@+id/widgetLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#262C31" >
+
<ImageButton
android:id="@+id/butPlay"
android:contentDescription="@string/play_label"
@@ -17,7 +19,7 @@
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_margin="12dp"
- android:background="@drawable/borderless_button_dark"
+ android:background="@android:color/transparent"
android:src="@drawable/ic_play_arrow_white_24dp" />
<LinearLayout
@@ -28,7 +30,7 @@
android:layout_alignParentStart="true"
android:layout_toLeftOf="@id/butPlay"
android:layout_toStartOf="@id/butPlay"
- android:background="@drawable/borderless_button_dark"
+ android:background="@android:color/transparent"
android:gravity="fill_horizontal"
android:orientation="horizontal" >
@@ -36,6 +38,7 @@
android:id="@+id/imgvCover"
android:layout_width="@android:dimen/app_icon_size"
android:layout_height="match_parent"
+ android:src="@drawable/ic_antenna"
android:layout_margin="12dp" />
<LinearLayout
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index def43fe8a..78d747e5e 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -755,4 +755,8 @@
<string name="notification_channel_error">Errors</string>
<string name="notification_channel_error_description">Shown if something went wrong, for example if download or gpodder sync fails.</string>
<string name="import_bad_file">Invalid/corrupt file</string>
+
+ <!-- Widget settings -->
+ <string name="widget_create_button">Create widget</string>
+ <string name="widget_opacity">Opacity</string>
</resources>