From 461ca346181684c02817dda589b3135434b11312 Mon Sep 17 00:00:00 2001 From: PatelVatsalB21 Date: Mon, 29 Mar 2021 15:22:51 +0530 Subject: [PATCH] fix 318: Added new Widget support for Creating Customer --- app/src/main/AndroidManifest.xml | 36 +++++++----- .../apache/fineract/utils/CustomerWidget.kt | 43 ++++++++++++++ .../res/drawable-nodpi/widget_preview.png | Bin 0 -> 3624 bytes ...d_black_24dp.xml => ic_add_white_48dp.xml} | 4 +- app/src/main/res/drawable/ic_widget_48dp.xml | 5 ++ app/src/main/res/layout/customer_widget.xml | 17 ++++++ .../res/layout/fragment_customer_deposit.xml | 2 +- .../res/layout/fragment_customer_list.xml | 2 +- .../res/layout/fragment_customer_loans.xml | 2 +- .../fragment_edit_payroll_allocation.xml | 2 +- .../main/res/layout/fragment_group_list.xml | 2 +- .../layout/fragment_identification_list.xml | 2 +- .../main/res/layout/fragment_roles_list.xml | 2 +- .../layout/fragment_step_add_group_leader.xml | 2 +- .../layout/fragment_step_add_group_member.xml | 2 +- app/src/main/res/values-night/themes.xml | 6 ++ app/src/main/res/values/attrs.xml | 6 ++ app/src/main/res/values/colors.xml | 54 ++++++++++-------- app/src/main/res/values/themes.xml | 6 ++ app/src/main/res/xml/customer_widget_info.xml | 10 ++++ 20 files changed, 155 insertions(+), 50 deletions(-) create mode 100644 app/src/main/java/org/apache/fineract/utils/CustomerWidget.kt create mode 100644 app/src/main/res/drawable-nodpi/widget_preview.png rename app/src/main/res/drawable/{ic_add_black_24dp.xml => ic_add_white_48dp.xml} (61%) create mode 100644 app/src/main/res/drawable/ic_widget_48dp.xml create mode 100644 app/src/main/res/layout/customer_widget.xml create mode 100644 app/src/main/res/values-night/themes.xml create mode 100644 app/src/main/res/values/attrs.xml create mode 100644 app/src/main/res/values/themes.xml create mode 100644 app/src/main/res/xml/customer_widget_info.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 08702c3d..b308e68c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,17 +23,6 @@ android:supportsRtl="true" android:theme="@style/AppTheme" tools:targetApi="n"> - - - - - @@ -94,6 +83,28 @@ + + + + + + + + + + + + - \ No newline at end of file diff --git a/app/src/main/java/org/apache/fineract/utils/CustomerWidget.kt b/app/src/main/java/org/apache/fineract/utils/CustomerWidget.kt new file mode 100644 index 00000000..55ec5eac --- /dev/null +++ b/app/src/main/java/org/apache/fineract/utils/CustomerWidget.kt @@ -0,0 +1,43 @@ +package org.apache.fineract.utils + +import android.app.PendingIntent +import android.appwidget.AppWidgetManager +import android.appwidget.AppWidgetProvider +import android.content.Context +import android.content.Intent +import android.widget.RemoteViews +import org.apache.fineract.R +import org.apache.fineract.ui.online.customers.createcustomer.CustomerAction +import org.apache.fineract.ui.online.customers.createcustomer.customeractivity.CreateCustomerActivity + +/** + * Implementation of App Widget functionality. + */ +class CustomerWidget : AppWidgetProvider() { + override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { + // There may be multiple widgets active, so update all of them + for (appWidgetId in appWidgetIds) { + updateAppWidget(context, appWidgetManager, appWidgetId) + } + } + + override fun onEnabled(context: Context) { + // Enter relevant functionality for when the first widget is created + } + + override fun onDisabled(context: Context) { + // Enter relevant functionality for when the last widget is disabled + } +} + +internal fun updateAppWidget(context: Context, appWidgetManager: AppWidgetManager, appWidgetId: Int) { + val intent = Intent(context, CreateCustomerActivity::class.java) + intent.putExtra(ConstantKeys.CUSTOMER_ACTION, CustomerAction.CREATE) + val pendingIntent = PendingIntent.getActivity(context, 0, intent, 0) + val views = RemoteViews(context.packageName, R.layout.customer_widget) + + views.setImageViewResource(R.id.appwidget_img, R.drawable.ic_widget_48dp) + views.setOnClickPendingIntent(R.id.appwidget_img, pendingIntent) + + appWidgetManager.updateAppWidget(appWidgetId, views) +} diff --git a/app/src/main/res/drawable-nodpi/widget_preview.png b/app/src/main/res/drawable-nodpi/widget_preview.png new file mode 100644 index 0000000000000000000000000000000000000000..8e3e9844df887e3ee26188642322a77bdc645e8c GIT binary patch literal 3624 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 Ws2q5Ql<5AyIk+9-d^POPJO2kwP7mq; literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/ic_add_black_24dp.xml b/app/src/main/res/drawable/ic_add_white_48dp.xml similarity index 61% rename from app/src/main/res/drawable/ic_add_black_24dp.xml rename to app/src/main/res/drawable/ic_add_white_48dp.xml index 76a9f8ab..76dde721 100644 --- a/app/src/main/res/drawable/ic_add_black_24dp.xml +++ b/app/src/main/res/drawable/ic_add_white_48dp.xml @@ -1,5 +1,5 @@ - + android:width="48dp" xmlns:android="http://schemas.android.com/apk/res/android"> diff --git a/app/src/main/res/drawable/ic_widget_48dp.xml b/app/src/main/res/drawable/ic_widget_48dp.xml new file mode 100644 index 00000000..b5c6b7eb --- /dev/null +++ b/app/src/main/res/drawable/ic_widget_48dp.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/customer_widget.xml b/app/src/main/res/layout/customer_widget.xml new file mode 100644 index 00000000..4a6c9ed1 --- /dev/null +++ b/app/src/main/res/layout/customer_widget.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_customer_deposit.xml b/app/src/main/res/layout/fragment_customer_deposit.xml index a4f4a8ea..ea5a8e0f 100644 --- a/app/src/main/res/layout/fragment_customer_deposit.xml +++ b/app/src/main/res/layout/fragment_customer_deposit.xml @@ -25,6 +25,6 @@ android:layout_margin="@dimen/layout_padding_16dp" android:layout_width="wrap_content" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp"/> + app:srcCompat="@drawable/ic_add_white_48dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_customer_list.xml b/app/src/main/res/layout/fragment_customer_list.xml index 626c1fc3..cc3fd823 100644 --- a/app/src/main/res/layout/fragment_customer_list.xml +++ b/app/src/main/res/layout/fragment_customer_list.xml @@ -90,6 +90,6 @@ android:layout_margin="@dimen/layout_padding_16dp" android:layout_width="wrap_content" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp"/> + app:srcCompat="@drawable/ic_add_white_48dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_customer_loans.xml b/app/src/main/res/layout/fragment_customer_loans.xml index 10d3dbe3..7ebe1ceb 100644 --- a/app/src/main/res/layout/fragment_customer_loans.xml +++ b/app/src/main/res/layout/fragment_customer_loans.xml @@ -34,6 +34,6 @@ android:layout_margin="@dimen/fab_margin" android:layout_width="wrap_content" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp"/> + app:srcCompat="@drawable/ic_add_white_48dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_payroll_allocation.xml b/app/src/main/res/layout/fragment_edit_payroll_allocation.xml index 66b55fa0..dc888b9c 100644 --- a/app/src/main/res/layout/fragment_edit_payroll_allocation.xml +++ b/app/src/main/res/layout/fragment_edit_payroll_allocation.xml @@ -20,6 +20,6 @@ android:clickable="true" android:focusable="true" android:tint="@color/white" - app:srcCompat="@drawable/ic_add_black_24dp" /> + app:srcCompat="@drawable/ic_add_white_48dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_group_list.xml b/app/src/main/res/layout/fragment_group_list.xml index b4313606..9961f0cc 100644 --- a/app/src/main/res/layout/fragment_group_list.xml +++ b/app/src/main/res/layout/fragment_group_list.xml @@ -18,6 +18,6 @@ app:layout_anchor="@id/rvGroups" app:layout_anchorGravity="bottom|right" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp" /> + app:srcCompat="@drawable/ic_add_white_48dp" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_identification_list.xml b/app/src/main/res/layout/fragment_identification_list.xml index b6a7df02..24a70618 100644 --- a/app/src/main/res/layout/fragment_identification_list.xml +++ b/app/src/main/res/layout/fragment_identification_list.xml @@ -34,6 +34,6 @@ android:layout_margin="@dimen/layout_padding_16dp" android:layout_width="wrap_content" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp"/> + app:srcCompat="@drawable/ic_add_white_48dp"/> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_roles_list.xml b/app/src/main/res/layout/fragment_roles_list.xml index 395ab047..60ca4dd3 100644 --- a/app/src/main/res/layout/fragment_roles_list.xml +++ b/app/src/main/res/layout/fragment_roles_list.xml @@ -32,7 +32,7 @@ android:layout_margin="@dimen/layout_padding_16dp" android:layout_width="wrap_content" app:layout_behavior="org.apache.fineract.utils.ScrollFabBehavior" - app:srcCompat="@drawable/ic_add_black_24dp"/> + app:srcCompat="@drawable/ic_add_white_48dp"/> + app:srcCompat="@drawable/ic_add_white_48dp" /> diff --git a/app/src/main/res/layout/fragment_step_add_group_member.xml b/app/src/main/res/layout/fragment_step_add_group_member.xml index aac7ef54..bcc70e37 100644 --- a/app/src/main/res/layout/fragment_step_add_group_member.xml +++ b/app/src/main/res/layout/fragment_step_add_group_member.xml @@ -48,7 +48,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - app:srcCompat="@drawable/ic_add_black_24dp" /> + app:srcCompat="@drawable/ic_add_white_48dp" /> diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml new file mode 100644 index 00000000..feeda07f --- /dev/null +++ b/app/src/main/res/values-night/themes.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml new file mode 100644 index 00000000..97531a25 --- /dev/null +++ b/app/src/main/res/values/attrs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index e8a0cc4d..08d8ab8b 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,66 +1,70 @@ + + @color/blue_light + @color/green_light + @color/red_light + @color/orange_light + #009688 #00796B #212121 #757575 - #FF4081 - #ffffff + #FF4081 - #ff33b5e5 + #ffffff - #33999999 + #ff33b5e5 - #BB666666 + #33999999 - #ff99cc00 + #BB666666 - #ffff4444 + #ff99cc00 - #ff0099cc + #ffff4444 - #ff669900 + #ff0099cc - #ffcc0000 + #ff669900 - #ffaa66cc + #ffcc0000 - #ffffbb33 + #ffaa66cc - #ffff8800 + #ffffbb33 - #ff00ddff + #ffff8800 + #ff00ddff + #33CCCCCC #0a46b1 - - #c9d8e9 + #c9d8e9 #000000 - #ffd1d1d1 + #ffd1d1d1 #ff14c416 #ff8bf98a #fff9ac06 #FF87DBF9 - #fff9393c + #fff9393c #bbbbbb #9e9e9e #E9E2E2 #049314 #787171 #eaeaea - #c1c1c1 - - @color/blue_light - @color/green_light - @color/red_light - @color/orange_light - + #c1c1c1 + #FFE1F5FE + #FF81D4FA + #FF039BE5 + #FF01579B diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml new file mode 100644 index 00000000..9d9a3edf --- /dev/null +++ b/app/src/main/res/values/themes.xml @@ -0,0 +1,6 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/xml/customer_widget_info.xml b/app/src/main/res/xml/customer_widget_info.xml new file mode 100644 index 00000000..229d7e9f --- /dev/null +++ b/app/src/main/res/xml/customer_widget_info.xml @@ -0,0 +1,10 @@ + + \ No newline at end of file