From c1dae021bfea528818793e2ca6d0231ba1bf25f7 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 27 Feb 2016 11:52:46 -0500 Subject: [PATCH] Implement dummy widget --- app/src/main/AndroidManifest.xml | 10 +++ app/src/main/ic_small_widget_preview-web.png | Bin 0 -> 35716 bytes .../isoron/uhabits/SmallWidgetProvider.java | 66 ++++++++++++++++ .../isoron/uhabits/views/SmallWidgetView.java | 71 ++++++++++++++++++ app/src/main/res/layout/small_widget.xml | 25 ++++++ .../main/res/layout/small_widget_preview.xml | 7 ++ .../mipmap-hdpi/ic_small_widget_preview.png | Bin 0 -> 2774 bytes .../mipmap-mdpi/ic_small_widget_preview.png | Bin 0 -> 1652 bytes .../mipmap-xhdpi/ic_small_widget_preview.png | Bin 0 -> 3812 bytes .../mipmap-xxhdpi/ic_small_widget_preview.png | Bin 0 -> 6183 bytes .../ic_small_widget_preview.png | Bin 0 -> 8745 bytes app/src/main/res/xml/small_widget_info.xml | 12 +++ 12 files changed, 191 insertions(+) create mode 100644 app/src/main/ic_small_widget_preview-web.png create mode 100644 app/src/main/java/org/isoron/uhabits/SmallWidgetProvider.java create mode 100644 app/src/main/java/org/isoron/uhabits/views/SmallWidgetView.java create mode 100644 app/src/main/res/layout/small_widget.xml create mode 100644 app/src/main/res/layout/small_widget_preview.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_small_widget_preview.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_small_widget_preview.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_small_widget_preview.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_small_widget_preview.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_small_widget_preview.png create mode 100644 app/src/main/res/xml/small_widget_info.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 79203bf14..f1c20a8d3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -62,6 +62,16 @@ + + + + + + + + diff --git a/app/src/main/ic_small_widget_preview-web.png b/app/src/main/ic_small_widget_preview-web.png new file mode 100644 index 0000000000000000000000000000000000000000..5d6fa2451e2c8f303241f180b27c23e9638dc66c GIT binary patch literal 35716 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 literal 0 HcmV?d00001 diff --git a/app/src/main/java/org/isoron/uhabits/SmallWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/SmallWidgetProvider.java new file mode 100644 index 000000000..0ba2d196a --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/SmallWidgetProvider.java @@ -0,0 +1,66 @@ +/* Copyright (C) 2016 Alinson Santos Xavier + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package org.isoron.uhabits; + +import android.appwidget.AppWidgetManager; +import android.appwidget.AppWidgetProvider; +import android.content.Context; +import android.graphics.Bitmap; +import android.util.Log; +import android.widget.RemoteViews; + +import org.isoron.uhabits.views.SmallWidgetView; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; + +public class SmallWidgetProvider extends AppWidgetProvider +{ + @Override + public void onUpdate(Context context, AppWidgetManager manager, int[] appWidgetIds) + { + for(int id : appWidgetIds) + updateWidget(context, manager, id); + } + + private void updateWidget(Context context, AppWidgetManager manager, int widgetId) + { + RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.small_widget); + + SmallWidgetView widgetView = new SmallWidgetView(context); + widgetView.setDrawingCacheEnabled(true); + widgetView.measure(200, 200); + widgetView.layout(0, 0, 200, 200); + widgetView.buildDrawingCache(true); + + Bitmap drawingCache = widgetView.getDrawingCache(); + + try + { + drawingCache.compress(Bitmap.CompressFormat.PNG, 100, + new FileOutputStream(context.getFilesDir() + "/widget.png")); + } + catch (FileNotFoundException e) + { + e.printStackTrace(); + } + + Log.d("SmallWidgetProvider", drawingCache.toString()); + remoteViews.setImageViewBitmap(R.id.imageView, drawingCache); + manager.updateAppWidget(widgetId, remoteViews); + } +} diff --git a/app/src/main/java/org/isoron/uhabits/views/SmallWidgetView.java b/app/src/main/java/org/isoron/uhabits/views/SmallWidgetView.java new file mode 100644 index 000000000..33c0105d4 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/views/SmallWidgetView.java @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2016 Alinson Santos Xavier + * + * This program is free software: you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the Free + * Software Foundation, either version 3 of the License, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * + */ + +package org.isoron.uhabits.views; + +import android.content.Context; +import android.graphics.Canvas; +import android.graphics.Paint; +import android.util.AttributeSet; +import android.view.View; + +import org.isoron.helpers.ColorHelper; + +public class SmallWidgetView extends View +{ + private Paint pCircle; + + public SmallWidgetView(Context context) + { + super(context); + init(context); + } + + public SmallWidgetView(Context context, AttributeSet attrs) + { + super(context, attrs); + init(context); + } + + private void init(Context context) + { + pCircle = new Paint(); + pCircle.setColor(ColorHelper.palette[7]); + } + + @Override + protected void onDraw(Canvas canvas) + { + super.onDraw(canvas); + canvas.drawOval(0, 0, getMeasuredWidth(), getMeasuredHeight(), pCircle); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) + { + super.onMeasure(widthMeasureSpec, heightMeasureSpec); + setMeasuredDimension(widthMeasureSpec, heightMeasureSpec); + } + + @Override + protected void onSizeChanged(int w, int h, int oldw, int oldh) + { + super.onSizeChanged(w, h, oldw, oldh); + } +} diff --git a/app/src/main/res/layout/small_widget.xml b/app/src/main/res/layout/small_widget.xml new file mode 100644 index 000000000..626b909f1 --- /dev/null +++ b/app/src/main/res/layout/small_widget.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/small_widget_preview.xml b/app/src/main/res/layout/small_widget_preview.xml new file mode 100644 index 000000000..505bc619b --- /dev/null +++ b/app/src/main/res/layout/small_widget_preview.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_small_widget_preview.png b/app/src/main/res/mipmap-hdpi/ic_small_widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..7ee617aa61f749c87ca2f68a1d2829f656143bdd GIT binary patch literal 2774 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-mdpi/ic_small_widget_preview.png b/app/src/main/res/mipmap-mdpi/ic_small_widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..ff862e25261759915d3f2310d71eeb63f96a132a GIT binary patch literal 1652 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 + + + + \ No newline at end of file