Explorar el Código

New : Add UpdateLatestAppDialog

Wayne hace 8 años
padre
commit
3ad14fe647

+ 87 - 0
src/main/java/com/kdanmobile/kdan_others_library_for_android/UpdateLatestAppDialog.java

@@ -0,0 +1,87 @@
+package com.kdanmobile.kdan_others_library_for_android;
+
+import android.content.Context;
+import android.support.annotation.NonNull;
+import android.support.v7.app.AlertDialog;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.TextView;
+
+/**
+ * Created by Wei on 2017/4/7.
+ */
+
+public class UpdateLatestAppDialog {
+    private Context context;
+    private String appName;
+    private Runnable positiveL;
+    private Runnable negativeL;
+
+    private UpdateLatestAppDialog() {}
+
+    public void show() {
+        View v = createView();
+        new AlertDialog.Builder(context)
+                .setView(v)
+                .setPositiveButton(R.string.update_latest_app_dialog_positive_btn, ((di, i) -> {
+                    if (positiveL != null) positiveL.run();
+                }))
+                .setNegativeButton(R.string.update_latest_app_dialog_negative_btn, (((di, i) -> {
+                    if (negativeL != null) negativeL.run();
+                })))
+                .show();
+    }
+
+    @NonNull
+    private View createView() {
+        View v = LayoutInflater.from(context).inflate(R.layout.dialog_update_latest_app, null);
+        String s = context.getString(R.string.update_latest_app_dialog_content, appName);
+        TextView content = (TextView) v.findViewById(R.id.tv_update_latest_version_dialog_content);
+        content.setText(s);
+        return v;
+    }
+
+    public static class Builder {
+        private Context context;
+        private String appName;
+        private Runnable positiveL;
+        private Runnable negativeL;
+
+        public Builder(Context context) {
+            this.context = context;
+        }
+
+        public Builder setAppName(String appName) {
+            this.appName = appName;
+            return this;
+        }
+
+        public Builder setAppName(int resId) {
+            this.appName = context.getString(resId);
+            return this;
+        }
+
+        public Builder setOnPositive(Runnable l) {
+            positiveL = l;
+            return this;
+        }
+
+        public Builder setOnNegative(Runnable l) {
+            negativeL = l;
+            return this;
+        }
+
+        public UpdateLatestAppDialog build() {
+            UpdateLatestAppDialog d = new UpdateLatestAppDialog();
+            d.context = context;
+            d.appName = appName;
+            d.positiveL = positiveL;
+            d.negativeL = negativeL;
+            return d;
+        }
+
+        public void show() {
+            build().show();
+        }
+    }
+}

BIN
src/main/res/drawable-hdpi/img_new_update.png


BIN
src/main/res/drawable-mdpi/img_new_update.png


BIN
src/main/res/drawable-xhdpi/img_new_update.png


BIN
src/main/res/drawable-xxhdpi/img_new_update.png


BIN
src/main/res/drawable-xxxhdpi/img_new_update.png


+ 42 - 0
src/main/res/layout/dialog_update_latest_app.xml

@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:padding="24dp">
+
+    <RelativeLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content">
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentLeft="true"
+            android:layout_alignParentStart="true"
+            android:layout_centerVertical="true"
+            android:layout_toLeftOf="@+id/iv_update_latest_version_dialog"
+            android:layout_marginRight="8dp"
+            android:text="@string/update_latest_app_dialog_title"
+            android:textColor="@android:color/black"
+            android:textSize="22sp"/>
+
+        <ImageView
+            android:id="@+id/iv_update_latest_version_dialog"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_alignParentRight="true"
+            android:layout_alignParentEnd="true"
+            android:src="@drawable/img_new_update" />
+    </RelativeLayout>
+    <TextView
+        android:id="@+id/tv_update_latest_version_dialog_content"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="20dp"
+        android:textSize="16sp"
+        android:textColor="@android:color/black"
+        tools:text="@string/update_latest_app_dialog_content"/>
+</LinearLayout>

+ 7 - 0
src/main/res/values-de/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">Die neue Version von %1$s ist jetzt verfügbar. Führen Sie für neue Funktionen ein Update durch.</string>
+    <string name="update_latest_app_dialog_negative_btn">Später</string>
+    <string name="update_latest_app_dialog_positive_btn">Jetzt updaten</string>
+    <string name="update_latest_app_dialog_title">Neues Update verfügbar</string>
+</resources>

+ 7 - 0
src/main/res/values-es/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">La nueva versión de %1$s ahora está a tu disposición. Vaya a actualización para nuevas características.</string>
+    <string name="update_latest_app_dialog_negative_btn">Más tarde</string>
+    <string name="update_latest_app_dialog_positive_btn">Actualizar ahora</string>
+    <string name="update_latest_app_dialog_title">Nueva actualización disponible</string>
+</resources>

+ 7 - 0
src/main/res/values-fr/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">La nouvelle version de %1$s est maintenant disponible. Mettez à jour pour obtenir de nouvelles fonctionnalités.</string>
+    <string name="update_latest_app_dialog_negative_btn">Plus tard</string>
+    <string name="update_latest_app_dialog_positive_btn">Mettre à jour maintenant</string>
+    <string name="update_latest_app_dialog_title">Nouvelle Mise à Jour Disponible</string>
+</resources>

+ 7 - 0
src/main/res/values-it/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">La nuova versione di %1$s è ora disponibile. Or aggiornamento per nuove funzioni.</string>
+    <string name="update_latest_app_dialog_negative_btn">Più tardi</string>
+    <string name="update_latest_app_dialog_positive_btn">Aggiornamento ora</string>
+    <string name="update_latest_app_dialog_title">Nuovo aggiornamento disponibile</string>
+</resources>

+ 4 - 0
src/main/res/values-ja-rJP/strings.xml

@@ -5,4 +5,8 @@
     <string name="zendesk_sign_in_notify_message">お客様のサポートリクエストを記録し、当社のカスタマーサポートからEメールを受信できるよう、お客様のKdan IDを使用しサインインしてください。</string>
     <string name="zendesk_continue_as_guest">ゲストとして続ける</string>
     <string name="zendesk_sign_in">サインイン</string>
+    <string name="update_latest_app_dialog_content">%1$s の新しいバージョンが利用できます。アップデートして新機能をご利用ください。</string>
+    <string name="update_latest_app_dialog_negative_btn">App名稱 の新しいバージョンが利用できます。アップデートして新機能をご利用ください。</string>
+    <string name="update_latest_app_dialog_positive_btn">今すぐアップデート</string>
+    <string name="update_latest_app_dialog_title">あとで</string>
 </resources>

+ 7 - 0
src/main/res/values-ko/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">새로운 버전의 %1$s 이(가) 출시되었습니다. 새로운 기능으로 업데이트하십시오.</string>
+    <string name="update_latest_app_dialog_negative_btn">나중에</string>
+    <string name="update_latest_app_dialog_positive_btn">지금 업데이트</string>
+    <string name="update_latest_app_dialog_title">새로운 업데이트 대기 중</string>
+</resources>

+ 7 - 0
src/main/res/values-pt/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">A nova versão do %1$s está disponível. Faça a atualização para os novos recursos.</string>
+    <string name="update_latest_app_dialog_negative_btn">Mais tarde</string>
+    <string name="update_latest_app_dialog_positive_btn">Atualize agora</string>
+    <string name="update_latest_app_dialog_title">Nova Atualização Disponível</string>
+</resources>

+ 7 - 0
src/main/res/values-ru/strings.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+    <string name="update_latest_app_dialog_content">Доступна новая версия %1$s. Обновите приложение для получения новых функций.</string>
+    <string name="update_latest_app_dialog_negative_btn">Позже</string>
+    <string name="update_latest_app_dialog_positive_btn">Обновить сейчас</string>
+    <string name="update_latest_app_dialog_title">Доступно новое обновление</string>
+</resources>

+ 4 - 0
src/main/res/values-zh-rCN/strings.xml

@@ -4,4 +4,8 @@
     <string name="zendesk_sign_in_notify_message">为了帮您体验更完善的客服支持以及接收客服回信,建议登入您的凯钿会员。</string>
     <string name="zendesk_continue_as_guest">游客进入</string>
     <string name="zendesk_sign_in">登录</string>
+    <string name="update_latest_app_dialog_title">更新上线</string>
+    <string name="update_latest_app_dialog_positive_btn">立即更新</string>
+    <string name="update_latest_app_dialog_negative_btn">以后再说</string>
+    <string name="update_latest_app_dialog_content">%1$S 已释出新版本,赶快升级使用最新功能!</string>
 </resources>

+ 4 - 0
src/main/res/values-zh-rTW/strings.xml

@@ -4,4 +4,8 @@
     <string name="zendesk_sign_in_notify_message">為提供您更完善的客服體驗,建議登入您的Kdan ID方便掌握客服請求紀錄與接收信件回覆。</string>
     <string name="zendesk_continue_as_guest">訪客進入</string>
     <string name="zendesk_sign_in">會員登入</string>
+    <string name="update_latest_app_dialog_content">%1$S 已釋出更新版本,快升級您的app使用最新功能!</string>
+    <string name="update_latest_app_dialog_title">更新上線</string>
+    <string name="update_latest_app_dialog_positive_btn">立即更新</string>
+    <string name="update_latest_app_dialog_negative_btn">稍候</string>
 </resources>

+ 7 - 1
src/main/res/values/strings.xml

@@ -1,8 +1,14 @@
 <resources>
-    <string name="app_name">kdan_others_library_for_android</string>
+    <string name="app_name" translatable="false">kdan_others_library_for_android</string>
 
     <!--zendesk-->
     <string name="zendesk_sign_in_notify_message">To keep track of your support requests and receive emails from our customer support team, please sign in with your Kdan ID.</string>
     <string name="zendesk_continue_as_guest">Continue as Guest</string>
     <string name="zendesk_sign_in">Sign in</string>
+
+    <!-- Update latest app dialog-->
+    <string name="update_latest_app_dialog_title">New Update Available</string>
+    <string name="update_latest_app_dialog_content">The new version of %1$s is available now. Go update for new features.</string>
+    <string name="update_latest_app_dialog_positive_btn">Update now</string>
+    <string name="update_latest_app_dialog_negative_btn">Later</string>
 </resources>