diff options
Diffstat (limited to 'core/src/main')
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/receiver/PlayerWidget.java | 15 | ||||
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/service/PlayerWidgetJobService.java | 7 | ||||
-rw-r--r-- | core/src/main/res/drawable-nodpi/teaser.png | bin | 0 -> 60183 bytes | |||
-rw-r--r-- | core/src/main/res/layout/player_widget.xml | 7 | ||||
-rw-r--r-- | core/src/main/res/values/strings.xml | 4 |
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 Binary files differnew file mode 100644 index 000000000..3b5261b28 --- /dev/null +++ b/core/src/main/res/drawable-nodpi/teaser.png 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> |