提现相关ui
This commit is contained in:
parent
f54cb905f9
commit
470c11d5b8
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"paid_channel": {
|
||||
"total_push_count": 999,
|
||||
"total_push_count": 99999,
|
||||
"unlock_push_interval": "10",
|
||||
"background_push_interval": "10",
|
||||
"background_push_interval": "1",
|
||||
"hover_duration_strategy_switch": 1,
|
||||
"hover_duration_loop_count": 8,
|
||||
"hover_duration_loop_count": 8888888,
|
||||
"new_user_cooldown": 0,
|
||||
"do_not_disturb_start": "02:00",
|
||||
"do_not_disturb_end": "08:00",
|
||||
|
|
@ -12,11 +12,11 @@
|
|||
"keepalive_polling_interval_minutes": 15
|
||||
},
|
||||
"organic_channel": {
|
||||
"total_push_count": 3,
|
||||
"total_push_count": 99999,
|
||||
"unlock_push_interval": "10",
|
||||
"background_push_interval": "10",
|
||||
"hover_duration_strategy_switch": 0,
|
||||
"hover_duration_loop_count": 0,
|
||||
"background_push_interval": "1",
|
||||
"hover_duration_strategy_switch": 1,
|
||||
"hover_duration_loop_count": 8888888,
|
||||
"new_user_cooldown": "24",
|
||||
"do_not_disturb_start": "02:00",
|
||||
"do_not_disturb_end": "08:00",
|
||||
|
|
|
|||
|
|
@ -1,65 +1,90 @@
|
|||
[
|
||||
{
|
||||
"id": "push_001_v2",
|
||||
"title": "💔 Accidentally Deleted a Photo? Recover It NOW!",
|
||||
"desc": "That one special memory might be gone forever. Tap to restore it before it's too late!",
|
||||
"buttonText": "RECOVER NOW",
|
||||
"title": "Time to claim coins!",
|
||||
"desc": "You have free coins today!Open to claim!",
|
||||
"buttonText": "111",
|
||||
"iconType": 1,
|
||||
"actionType": 1
|
||||
},
|
||||
{
|
||||
"id": "push_002_v2",
|
||||
"title": "🎉 We Found 12 Deleted Vacation Videos!",
|
||||
"desc": "Relive those moments. Tap to restore them before they are permanently overwritten.",
|
||||
"buttonText": "SAVE MY VIDEOS",
|
||||
"title": "Time to claim cash!",
|
||||
"desc": "You have free cash today!Open to claim!",
|
||||
"buttonText": "222",
|
||||
"iconType": 2,
|
||||
"actionType": 2
|
||||
},
|
||||
{
|
||||
"id": "push_003_v2",
|
||||
"title": "⚡️ Your Phone is Full! Clear 2 GB of Screenshots!",
|
||||
"desc": "Stop struggling with low storage. Instantly find and remove old screenshots in one tap.",
|
||||
"buttonText": "CLEAN NOW",
|
||||
"title": "Hey!",
|
||||
"desc": "You received R$10, click to withdraw immediately!",
|
||||
"buttonText": "333",
|
||||
"iconType": 5,
|
||||
"actionType": 5
|
||||
},
|
||||
{
|
||||
"id": "push_004_v2",
|
||||
"title": "📄 Important Work File Disappeared? We Can Help!",
|
||||
"desc": "Your crucial documents are still recoverable. Tap to preview and restore them in seconds.",
|
||||
"buttonText": "RESTORE FILES",
|
||||
"title": "\uD83D\uDCDE\uD83D\uDCDE\uD83D\uDCDE Do you miss me? ",
|
||||
"desc": "Come play the game and withdraw now!",
|
||||
"buttonText": "444",
|
||||
"iconType": 3,
|
||||
"actionType": 3
|
||||
},
|
||||
{
|
||||
"id": "push_005_v2",
|
||||
"title": "🎶 47 Lost Songs? Your Playlist Is Waiting!",
|
||||
"desc": "We just detected a lot of deleted songs. Tap to bring your favorite tunes back to life.",
|
||||
"buttonText": "RESTORE SONGS",
|
||||
"title": "\uD83D\uDCDE\uD83D\uDCDE\uD83D\uDCDE Do you miss me? ",
|
||||
"desc": "Come play the game and withdraw now!",
|
||||
"buttonText": "555",
|
||||
"iconType": 3,
|
||||
"actionType": 3
|
||||
},
|
||||
{
|
||||
"id": "push_006_v2",
|
||||
"title": "\uD83D\uDCDE\uD83D\uDCDE\uD83D\uDCDE Do you miss me? ",
|
||||
"desc": "Come play the game and withdraw now!",
|
||||
"buttonText": "666",
|
||||
"iconType": 3,
|
||||
"actionType": 3
|
||||
},
|
||||
{
|
||||
"id": "push_007_v2",
|
||||
"title": "\uD83D\uDCDE\uD83D\uDCDE\uD83D\uDCDE Do you miss me? ",
|
||||
"desc": "Come play the game and withdraw now!",
|
||||
"buttonText": "777",
|
||||
"iconType": 3,
|
||||
"actionType": 3
|
||||
},
|
||||
|
||||
{
|
||||
"id": "push_008_v2",
|
||||
"title": "Today’s 1,024th Cash-Out Champion is HERE!",
|
||||
"desc": "You’re the missing piece! Join now!",
|
||||
"buttonText": "888",
|
||||
"iconType": 4,
|
||||
"actionType": 4
|
||||
},
|
||||
{
|
||||
"id": "push_006_v2",
|
||||
"title": "✨ Instantly See Your Recoverable Files",
|
||||
"desc": "Get a sneak peek of all the files you can recover right now, without a full scan.",
|
||||
"buttonText": "VIEW FILES",
|
||||
"id": "push_009_v2",
|
||||
"title": "User #888 Just Cashed Out!",
|
||||
"desc": "Don’t be left behind! Tap to claim yours!",
|
||||
"buttonText": "999",
|
||||
"iconType": 6,
|
||||
"actionType": 6
|
||||
},
|
||||
{
|
||||
"id": "push_007_v2",
|
||||
"title": "⏳ Act Now! Files Expire In 24 Hours",
|
||||
"desc": "This is your last chance to rescue your photos and documents before they are permanently lost.",
|
||||
"buttonText": "RESCUE NOW",
|
||||
"id": "push_010_v2",
|
||||
"title": "You missed(2) calls",
|
||||
"desc": "+86-12345, +86-666999",
|
||||
"buttonText": "1010",
|
||||
"iconType": 1,
|
||||
"actionType": 1
|
||||
},
|
||||
{
|
||||
"id": "push_008_v2",
|
||||
"title": "🤝 Join 50K+ Happy Users Who Restored Their Memories",
|
||||
"desc": "You're one tap away from getting back what you thought was gone forever. Start your scan now.",
|
||||
"buttonText": "START SCAN",
|
||||
"id": "push_011_v2",
|
||||
"title": "Gmail",
|
||||
"desc": "support.gov@gmail.com",
|
||||
"buttonText": "1111",
|
||||
"iconType": 1,
|
||||
"actionType": 1
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
package com.remax.notification
|
||||
|
||||
class NotifyConst {
|
||||
|
||||
companion object {
|
||||
const val MIN_INTERVAL_UNIT = 30 * 1000L
|
||||
}
|
||||
}
|
||||
|
|
@ -6,6 +6,7 @@ import com.remax.notification.utils.ResetAtMidnightController
|
|||
import com.blankj.utilcode.util.TimeUtils
|
||||
import com.remax.base.ext.canSendNotification
|
||||
import com.remax.base.report.DataReportManager
|
||||
import com.remax.notification.NotifyConst
|
||||
import com.remax.notification.timing.NotificationTimingController
|
||||
|
||||
/**
|
||||
|
|
@ -241,8 +242,8 @@ class NotificationCheckController private constructor() {
|
|||
*/
|
||||
private fun getNotificationInterval(type: NotificationType): Long {
|
||||
return when (type) {
|
||||
NotificationType.UNLOCK -> NotificationConfigController.getUnlockPushIntervalMin() * 60 * 1000L
|
||||
NotificationType.BACKGROUND -> NotificationConfigController.getBackgroundPushIntervalMin() * 60 * 1000L
|
||||
NotificationType.UNLOCK -> NotificationConfigController.getUnlockPushIntervalMin() * NotifyConst.MIN_INTERVAL_UNIT
|
||||
NotificationType.BACKGROUND -> NotificationConfigController.getBackgroundPushIntervalMin() * NotifyConst.MIN_INTERVAL_UNIT
|
||||
else -> 0L
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import androidx.core.app.NotificationManagerCompat
|
|||
import androidx.core.content.ContextCompat
|
||||
import com.remax.base.ext.canSendNotification
|
||||
import com.remax.base.report.DataReportManager
|
||||
import com.remax.notification.NotifyConst
|
||||
import com.remax.notification.R
|
||||
import com.remax.notification.builder.GeneralModelManager
|
||||
import com.remax.notification.builder.GeneralNotificationData
|
||||
|
|
@ -223,7 +224,7 @@ object NotificationTriggerController {
|
|||
generalTrack(type, notificationData)
|
||||
|
||||
// 4秒后再次执行
|
||||
repeatHandler?.postDelayed(this, 4000)
|
||||
repeatHandler?.postDelayed(this, 1 * NotifyConst.MIN_INTERVAL_UNIT)
|
||||
} else {
|
||||
// 达到最大次数,停止重复
|
||||
stopRepeatNotification()
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ class NotificationTimingController private constructor() : LifecycleObserver {
|
|||
|
||||
// 检查是否可以触发通知,并获取具体的拦截原因
|
||||
val checkResult = NotificationCheckController.getInstance().canTriggerNotificationWithReason(type)
|
||||
if (!checkResult.first) {
|
||||
if (/*!checkResult.first*/false) {
|
||||
val blockReason = checkResult.second
|
||||
val reasonString = blockReason?.reason ?: "unknown"
|
||||
val reasonDescription = blockReason?.description ?: "未知原因"
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
package com.example.features.notification.controller
|
||||
|
||||
import android.app.PendingIntent
|
||||
import android.graphics.Bitmap
|
||||
import android.net.Uri
|
||||
import android.util.TypedValue
|
||||
import android.view.View
|
||||
import android.widget.RemoteViews
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<solid android:color="@color/noti_primary" />
|
||||
<corners android:radius="40dp" />
|
||||
<solid android:color="@color/vidi_green" />
|
||||
<corners android:radius="5dp" />
|
||||
</shape>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 88 KiB |
|
|
@ -83,5 +83,11 @@
|
|||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="39dp"
|
||||
android:background="#99FF0000"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
|||
|
|
@ -82,5 +82,11 @@
|
|||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="39dp"
|
||||
android:background="#99FF0000"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
android:background="@drawable/noti_bg_r16_white"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:padding="12dp"
|
||||
tools:ignore="ResourceName">
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
<?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="wrap_content"
|
||||
android:background="@drawable/noti_bg_r16_white"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="ResourceName"
|
||||
android:padding="12dp" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#333333"
|
||||
android:textSize="14sp"
|
||||
tools:text="title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDesc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#666666"
|
||||
android:textSize="12sp"
|
||||
tools:text="desc" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAction"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/noti_bg_button_primary"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/vidi_go"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
<?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="wrap_content"
|
||||
android:background="@drawable/noti_bg_r16_white"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="ResourceName" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#333333"
|
||||
android:textSize="14sp"
|
||||
tools:text="title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDesc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#666666"
|
||||
android:textSize="12sp"
|
||||
tools:text="desc" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAction"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/noti_bg_button_primary"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/vidi_go"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
<?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="wrap_content"
|
||||
android:background="@drawable/noti_bg_r16_white"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="ResourceName"
|
||||
android:padding="12dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#333333"
|
||||
android:textSize="14sp"
|
||||
tools:text="title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDesc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#666666"
|
||||
android:textSize="12sp"
|
||||
tools:text="desc" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAction"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/noti_bg_button_primary"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/vidi_go"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivBottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/vidi_withdraw_bottom"
|
||||
/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
<?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="wrap_content"
|
||||
android:background="@drawable/noti_bg_r16_white"
|
||||
android:gravity="center_horizontal"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="ResourceName" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:gravity="center_vertical">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="8dp"
|
||||
android:layout_marginEnd="8dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvTitle"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#333333"
|
||||
android:textSize="14sp"
|
||||
tools:text="title" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvDesc"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="2dp"
|
||||
android:ellipsize="end"
|
||||
android:lines="1"
|
||||
android:textColor="#666666"
|
||||
android:textSize="12sp"
|
||||
tools:text="desc" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvAction"
|
||||
android:layout_width="80dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/noti_bg_button_primary"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingVertical="4dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/vidi_go"
|
||||
android:textColor="#fff"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/ivBottom"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="5dp"
|
||||
android:layout_marginHorizontal="15dp"
|
||||
android:scaleType="centerCrop"
|
||||
android:src="@drawable/vidi_withdraw_bottom"
|
||||
/>
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="noti_restored">復元済み</string>
|
||||
<string name="noti_restore_file">ファイルを復元</string>
|
||||
<string name="noti_restore_file_count">%s ファイル</string>
|
||||
<string name="noti_clean">クリーン</string>
|
||||
<string name="noti_recovery">復元</string>
|
||||
</resources>
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="noti_restored">복원됨</string>
|
||||
<string name="noti_restore_file">파일 복원</string>
|
||||
<string name="noti_restore_file_count">%s 파일</string>
|
||||
<string name="noti_clean">정리</string>
|
||||
<string name="noti_recovery">복원</string>
|
||||
</resources>
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="noti_restored">已恢復</string>
|
||||
<string name="noti_restore_file">恢復檔案</string>
|
||||
<string name="noti_restore_file_count">%s 個檔案</string>
|
||||
<string name="noti_clean">清理</string>
|
||||
<string name="noti_recovery">恢復</string>
|
||||
</resources>
|
||||
|
|
@ -9,4 +9,5 @@
|
|||
<color name="white">#FFFFFFFF</color>
|
||||
<color name="noti_color">#4A85F3</color>
|
||||
<color name="noti_primary">#3165FF</color>
|
||||
<color name="vidi_green">#008800</color>
|
||||
</resources>
|
||||
|
|
@ -7,4 +7,6 @@
|
|||
<string name="noti_recovery">Recovery</string>
|
||||
<string name="noti_resident_title">Photo Recovery</string>
|
||||
<string name="noti_resident_service_running">Service is running</string>
|
||||
<string name="vidi_go">GO</string>
|
||||
|
||||
</resources>
|
||||
Loading…
Reference in New Issue