Add peset widgets
parent
06c315638b
commit
a89cd79fdf
|
@ -53,7 +53,7 @@
|
|||
<!-- Widgets -->
|
||||
<!--
|
||||
<receiver
|
||||
android:name=".MeditationProvider1"
|
||||
android:name=".WidgetStreakProvider1"
|
||||
android:label="@string/widget1x1" >
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
|
@ -61,7 +61,7 @@
|
|||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_1" />
|
||||
android:resource="@xml/widget_streak_1" />
|
||||
</receiver>-->
|
||||
<activity
|
||||
android:name="sh.ftp.rocketninelabs.meditationassistant.MediNETActivity"
|
||||
|
@ -136,28 +136,62 @@
|
|||
</intent-filter>
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".MeditationProvider2"
|
||||
android:label="@string/widget2x1">
|
||||
android:name=".WidgetPresetProvider1"
|
||||
android:label="@string/widgetpreset1x1">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_2" />
|
||||
android:resource="@xml/widget_preset_1" />
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".MeditationProvider3"
|
||||
android:label="@string/widget3x1">
|
||||
android:name=".WidgetPresetProvider2"
|
||||
android:label="@string/widgetpreset2x1">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_3" />
|
||||
android:resource="@xml/widget_preset_2" />
|
||||
</receiver>
|
||||
<service android:name="sh.ftp.rocketninelabs.meditationassistant.WidgetService"></service>
|
||||
<receiver
|
||||
android:name=".WidgetPresetProvider3"
|
||||
android:label="@string/widgetpreset3x1">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_preset_3" />
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".WidgetStreakProvider2"
|
||||
android:label="@string/widgetstreak2x1">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_streak_2" />
|
||||
</receiver>
|
||||
<receiver
|
||||
android:name=".WidgetStreakProvider3"
|
||||
android:label="@string/widgetstreak3x1">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.appwidget.provider"
|
||||
android:resource="@xml/widget_streak_3" />
|
||||
</receiver>
|
||||
<service android:name="sh.ftp.rocketninelabs.meditationassistant.WidgetPresetService"></service>
|
||||
<service android:name="sh.ftp.rocketninelabs.meditationassistant.WidgetStreakService"></service>
|
||||
</application>
|
||||
<uses-permission
|
||||
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
|
||||
|
|
|
@ -1147,7 +1147,7 @@ public class MeditationAssistant extends Application {
|
|||
updateWidgets();
|
||||
|
||||
/* Update all widgets */
|
||||
Intent update_widgets = new Intent(getApplicationContext(), MeditationProvider.class);
|
||||
Intent update_widgets = new Intent(getApplicationContext(), WidgetStreakProvider.class);
|
||||
update_widgets.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
|
||||
sendBroadcast(update_widgets);
|
||||
}
|
||||
|
@ -2198,7 +2198,7 @@ public class MeditationAssistant extends Application {
|
|||
AppWidgetManager man = AppWidgetManager
|
||||
.getInstance(getApplicationContext());
|
||||
/*int[] ids = man.getAppWidgetIds(new ComponentName(
|
||||
getApplicationContext(), MeditationProvider.class));*/
|
||||
getApplicationContext(), WidgetStreakProvider.class));*/
|
||||
Intent updateIntent = new Intent();
|
||||
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
|
||||
getApplicationContext().sendBroadcast(updateIntent);
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class MeditationProvider1 extends MeditationProvider {
|
||||
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class MeditationProvider2 extends MeditationProvider {
|
||||
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class MeditationProvider3 extends MeditationProvider {
|
||||
|
||||
}
|
|
@ -85,15 +85,15 @@ public class SettingsActivity extends PreferenceActivity {
|
|||
|
||||
return true;
|
||||
} else if (preference instanceof ColorPickerPreference) {
|
||||
Intent intent2 = new Intent(getApplicationContext(), MeditationProvider2.class);
|
||||
Intent intent2 = new Intent(getApplicationContext(), WidgetStreakProvider2.class);
|
||||
intent2.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
|
||||
int[] ids2 = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), MeditationProvider2.class));
|
||||
int[] ids2 = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), WidgetStreakProvider2.class));
|
||||
intent2.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids2);
|
||||
sendBroadcast(intent2);
|
||||
|
||||
Intent intent3 = new Intent(getApplicationContext(), MeditationProvider3.class);
|
||||
Intent intent3 = new Intent(getApplicationContext(), WidgetStreakProvider3.class);
|
||||
intent3.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
|
||||
int[] ids3 = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), MeditationProvider3.class));
|
||||
int[] ids3 = AppWidgetManager.getInstance(getApplication()).getAppWidgetIds(new ComponentName(getApplication(), WidgetStreakProvider3.class));
|
||||
intent3.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, ids3);
|
||||
sendBroadcast(intent3);
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import android.content.Context;
|
|||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
public class MeditationProvider extends AppWidgetProvider {
|
||||
public class WidgetPresetProvider extends AppWidgetProvider {
|
||||
|
||||
private int[] mergeInts(int[] arg1, int[] arg2) {
|
||||
int[] result = new int[arg1.length + arg2.length];
|
||||
|
@ -28,9 +28,10 @@ public class MeditationProvider extends AppWidgetProvider {
|
|||
|
||||
if (intent != null && intent.getAction() != null && intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) {
|
||||
AppWidgetManager gm = AppWidgetManager.getInstance(context);
|
||||
int[] ids = gm.getAppWidgetIds(new ComponentName(context, MeditationProvider.class));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, MeditationProvider2.class)));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, MeditationProvider3.class)));
|
||||
int[] ids = gm.getAppWidgetIds(new ComponentName(context, WidgetPresetProvider.class));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetPresetProvider1.class)));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetPresetProvider2.class)));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetPresetProvider3.class)));
|
||||
|
||||
onUpdate(context, gm, ids);
|
||||
}
|
||||
|
@ -38,7 +39,7 @@ public class MeditationProvider extends AppWidgetProvider {
|
|||
|
||||
@Override
|
||||
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
|
||||
Intent intent = new Intent(context, WidgetService.class);
|
||||
Intent intent = new Intent(context, WidgetPresetService.class);
|
||||
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
|
||||
context.startService(intent);
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetPresetProvider1 extends WidgetPresetProvider {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetPresetProvider2 extends WidgetPresetProvider {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetPresetProvider3 extends WidgetPresetProvider {
|
||||
|
||||
}
|
|
@ -0,0 +1,60 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.app.Service;
|
||||
import android.appwidget.AppWidgetManager;
|
||||
import android.content.Intent;
|
||||
import android.os.IBinder;
|
||||
import android.util.Log;
|
||||
import android.widget.RemoteViews;
|
||||
|
||||
public class WidgetPresetService extends Service {
|
||||
public IBinder onBind(Intent intent) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||
AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(this
|
||||
.getApplicationContext());
|
||||
Log.d("MeditationAssistant", "Widget onStartCommand(): " + String.valueOf(intent));
|
||||
|
||||
if (intent == null) {
|
||||
Log.d("MeditationAssistant", "Widget intent was null, exiting...");
|
||||
return START_STICKY;
|
||||
}
|
||||
|
||||
int[] allWidgetIds = intent.getIntArrayExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS);
|
||||
if (allWidgetIds != null && allWidgetIds.length > 0) {
|
||||
for (int widgetId : allWidgetIds) {
|
||||
RemoteViews updateViews = new RemoteViews(this.getPackageName(),
|
||||
R.layout.widget_preset);
|
||||
|
||||
Log.d("MA", "Update view class " + updateViews.getClass());
|
||||
|
||||
MeditationAssistant ma = (MeditationAssistant) this
|
||||
.getApplication();
|
||||
|
||||
updateViews.setTextColor(R.id.txtWidgetPresetText, ma.getPrefs().getInt("pref_widgetcolor", -16777216));
|
||||
|
||||
String label = ma.getPrefs().getString("pref_preset_1_label", "");
|
||||
if (label.equals("")) {
|
||||
label = "Preset";
|
||||
}
|
||||
// TODO: How to identify different preset widgets?
|
||||
updateViews.setTextViewText(R.id.txtWidgetPresetText, label);
|
||||
|
||||
Intent clickintent = new Intent(getApplicationContext(), MainActivity.class);
|
||||
clickintent.setAction("widgetclick");
|
||||
PendingIntent pendingIntent = PendingIntent.getActivity(
|
||||
getApplicationContext(), 0, clickintent, 0);
|
||||
updateViews.setOnClickPendingIntent(R.id.layWidget, pendingIntent);
|
||||
updateViews.setOnClickPendingIntent(R.id.txtWidgetPresetText, pendingIntent);
|
||||
|
||||
appWidgetManager.updateAppWidget(widgetId, updateViews);
|
||||
}
|
||||
}
|
||||
|
||||
return START_STICKY;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
import android.appwidget.AppWidgetManager;
|
||||
import android.appwidget.AppWidgetProvider;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.util.Log;
|
||||
|
||||
public class WidgetStreakProvider extends AppWidgetProvider {
|
||||
|
||||
private int[] mergeInts(int[] arg1, int[] arg2) {
|
||||
int[] result = new int[arg1.length + arg2.length];
|
||||
System.arraycopy(arg1, 0, result, 0, arg1.length);
|
||||
System.arraycopy(arg2, 0, result, arg1.length, arg2.length);
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEnabled(Context context) {
|
||||
Log.d("MeditationAssistant", "Widget onEnabled");
|
||||
super.onEnabled(context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
super.onReceive(context, intent);
|
||||
|
||||
if (intent != null && intent.getAction() != null && intent.getAction().equals(AppWidgetManager.ACTION_APPWIDGET_UPDATE)) {
|
||||
AppWidgetManager gm = AppWidgetManager.getInstance(context);
|
||||
int[] ids = gm.getAppWidgetIds(new ComponentName(context, WidgetStreakProvider.class));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetStreakProvider1.class)));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetStreakProvider2.class)));
|
||||
ids = mergeInts(ids, gm.getAppWidgetIds(new ComponentName(context, WidgetStreakProvider3.class)));
|
||||
|
||||
onUpdate(context, gm, ids);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
|
||||
Intent intent = new Intent(context, WidgetStreakService.class);
|
||||
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, appWidgetIds);
|
||||
context.startService(intent);
|
||||
|
||||
super.onUpdate(context, appWidgetManager, appWidgetIds);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetStreakProvider1 extends WidgetStreakProvider {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetStreakProvider2 extends WidgetStreakProvider {
|
||||
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
package sh.ftp.rocketninelabs.meditationassistant;
|
||||
|
||||
public class WidgetStreakProvider3 extends WidgetStreakProvider {
|
||||
|
||||
}
|
|
@ -8,7 +8,7 @@ import android.os.IBinder;
|
|||
import android.util.Log;
|
||||
import android.widget.RemoteViews;
|
||||
|
||||
public class WidgetService extends Service {
|
||||
public class WidgetStreakService extends Service {
|
||||
public IBinder onBind(Intent intent) {
|
||||
return null;
|
||||
}
|
||||
|
@ -28,28 +28,29 @@ public class WidgetService extends Service {
|
|||
if (allWidgetIds != null && allWidgetIds.length > 0) {
|
||||
for (int widgetId : allWidgetIds) {
|
||||
RemoteViews updateViews = new RemoteViews(this.getPackageName(),
|
||||
R.layout.widget_layout);
|
||||
getApplication();
|
||||
R.layout.widget_streak);
|
||||
|
||||
Log.d("MA", "Update view class " + updateViews.getClass());
|
||||
|
||||
MeditationAssistant ma = (MeditationAssistant) this
|
||||
.getApplication();
|
||||
|
||||
updateViews.setTextColor(R.id.txtWidgetDays, ma.getPrefs().getInt("pref_widgetcolor", -16777216));
|
||||
updateViews.setTextColor(R.id.txtWidgetText, ma.getPrefs().getInt("pref_widgetcolor", -16777216));
|
||||
updateViews.setTextColor(R.id.txtWidgetStreakDays, ma.getPrefs().getInt("pref_widgetcolor", -16777216));
|
||||
updateViews.setTextColor(R.id.txtWidgetStreakText, ma.getPrefs().getInt("pref_widgetcolor", -16777216));
|
||||
|
||||
if (ma.getMeditationStreak().get(0) > 0) {
|
||||
updateViews.setTextViewText(R.id.txtWidgetDays,
|
||||
updateViews.setTextViewText(R.id.txtWidgetStreakDays,
|
||||
String.valueOf(ma.getMeditationStreak().get(0)));
|
||||
updateViews.setTextViewText(
|
||||
R.id.txtWidgetText,
|
||||
R.id.txtWidgetStreakText,
|
||||
getResources().getQuantityString(
|
||||
R.plurals.daysOfMeditationWithoutCount,
|
||||
ma.getMeditationStreak().get(0).intValue())
|
||||
);
|
||||
} else {
|
||||
updateViews.setTextViewText(R.id.txtWidgetDays,
|
||||
updateViews.setTextViewText(R.id.txtWidgetStreakDays,
|
||||
getString(R.string.ignore_om));
|
||||
updateViews.setTextViewText(R.id.txtWidgetText,
|
||||
updateViews.setTextViewText(R.id.txtWidgetStreakText,
|
||||
getString(R.string.meditateToday));
|
||||
}
|
||||
|
||||
|
@ -58,8 +59,8 @@ public class WidgetService extends Service {
|
|||
PendingIntent pendingIntent = PendingIntent.getActivity(
|
||||
getApplicationContext(), 0, clickintent, 0);
|
||||
updateViews.setOnClickPendingIntent(R.id.layWidget, pendingIntent);
|
||||
updateViews.setOnClickPendingIntent(R.id.txtWidgetDays, pendingIntent);
|
||||
updateViews.setOnClickPendingIntent(R.id.txtWidgetText, pendingIntent);
|
||||
updateViews.setOnClickPendingIntent(R.id.txtWidgetStreakDays, pendingIntent);
|
||||
updateViews.setOnClickPendingIntent(R.id.txtWidgetStreakText, pendingIntent);
|
||||
|
||||
appWidgetManager.updateAppWidget(widgetId, updateViews);
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
<FrameLayout
|
||||
android:id="@+id/layWidget"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:clickable="true"
|
||||
android:padding="@dimen/widget_margin">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtWidgetPresetText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:clickable="true"
|
||||
android:gravity="right"
|
||||
android:text=""
|
||||
android:textAppearance="?android:attr/textAppearanceMedium"
|
||||
android:textSize="18sp"/>
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
|
@ -12,7 +12,7 @@
|
|||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtWidgetDays"
|
||||
android:id="@+id/txtWidgetStreakDays"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
@ -23,7 +23,7 @@
|
|||
android:textSize="37sp"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/txtWidgetText"
|
||||
android:id="@+id/txtWidgetStreakText"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
|
@ -280,9 +280,12 @@
|
|||
\nThis dialog will not appear again.</string>
|
||||
<string name="translateMeditationAssistantText">Are you interested in assisting with translating Meditation Assistant?</string>
|
||||
<!-- Widgets -->
|
||||
<string name="widget1x1" tools:ignore="UnusedResources">Meditation Assistant 1x1</string>
|
||||
<string name="widget2x1" tools:ignore="UnusedResources">Meditation Assistant 2x1</string>
|
||||
<string name="widget3x1" tools:ignore="UnusedResources">Meditation Assistant 3x1</string>
|
||||
<string name="widgetpreset1x1" tools:ignore="UnusedResources">Preset 1x1</string>
|
||||
<string name="widgetpreset2x1" tools:ignore="UnusedResources">Preset 2x1</string>
|
||||
<string name="widgetpreset3x1" tools:ignore="UnusedResources">Preset 3x1</string>
|
||||
<string name="widgetstreak1x1" tools:ignore="UnusedResources">Streak 1x1</string>
|
||||
<string name="widgetstreak2x1" tools:ignore="UnusedResources">Streak 2x1</string>
|
||||
<string name="widgetstreak3x1" tools:ignore="UnusedResources">Streak 3x1</string>
|
||||
<!-- Meta -->
|
||||
<string name="appStoreListingShort">Feature packed meditation session timer and recorder</string>
|
||||
<string name="appStoreListingFull">- Automatic device mode while meditating.
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_preset"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="40dp"
|
||||
android:resizeMode="horizontal"
|
||||
android:theme="@style/MeditationDarkTheme"
|
||||
android:updatePeriodMillis="43200000"
|
||||
android:widgetCategory="keyguard|home_screen"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
</appwidget-provider>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_preset"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="110dp"
|
||||
android:resizeMode="horizontal"
|
||||
android:theme="@style/MeditationDarkTheme"
|
||||
android:updatePeriodMillis="43200000"
|
||||
android:widgetCategory="keyguard|home_screen"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
</appwidget-provider>
|
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_preset"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="180dp"
|
||||
android:resizeMode="horizontal"
|
||||
android:theme="@style/MeditationDarkTheme"
|
||||
android:updatePeriodMillis="43200000"
|
||||
android:widgetCategory="keyguard|home_screen"
|
||||
tools:ignore="UnusedAttribute">
|
||||
|
||||
</appwidget-provider>
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_layout"
|
||||
android:initialLayout="@layout/widget_streak"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="40dp"
|
||||
android:resizeMode="horizontal"
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_layout"
|
||||
android:initialLayout="@layout/widget_streak"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="110dp"
|
||||
android:resizeMode="horizontal"
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:initialLayout="@layout/widget_layout"
|
||||
android:initialLayout="@layout/widget_streak"
|
||||
android:minHeight="40dp"
|
||||
android:minWidth="180dp"
|
||||
android:resizeMode="horizontal"
|
Loading…
Reference in New Issue