Bug fix, donation entrance
This commit is contained in:
parent
b4e8917f8d
commit
df58b507cc
|
@ -9,8 +9,8 @@ android {
|
|||
applicationId "com.zane.smapiinstaller"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 28
|
||||
versionCode 6
|
||||
versionName "1.1.2"
|
||||
versionCode 7
|
||||
versionName "1.1.3"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
multiDexEnabled true
|
||||
|
@ -68,6 +68,8 @@ dependencies {
|
|||
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.10.3'
|
||||
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.10.3'
|
||||
|
||||
implementation 'com.github.didikee:AndroidDonate:0.1.0'
|
||||
|
||||
testImplementation 'junit:junit:4.12'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
package com.zane.smapiinstaller.logic;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
import android.content.Context;
|
||||
import android.content.ContextWrapper;
|
||||
import android.content.Intent;
|
||||
|
@ -111,6 +113,17 @@ public class CommonLogic {
|
|||
context.startActivity(intent);
|
||||
}
|
||||
|
||||
public static boolean copyToClipboard(Context context, String copyStr) {
|
||||
try {
|
||||
ClipboardManager cm = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
ClipData mClipData = ClipData.newPlainText("Label", copyStr);
|
||||
cm.setPrimaryClip(mClipData);
|
||||
return true;
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static List<ApkFilesManifest> findAllApkFileManifest(Context context) {
|
||||
ApkFilesManifest apkFilesManifest = com.zane.smapiinstaller.utils.FileUtils.getAssetJson(context, "apk_files_manifest.json", ApkFilesManifest.class);
|
||||
ArrayList<ApkFilesManifest> apkFilesManifests = Lists.newArrayList(apkFilesManifest);
|
||||
|
|
|
@ -180,6 +180,15 @@ public class ModAssetsManager {
|
|||
return false;
|
||||
}
|
||||
ImmutableList<ModManifestEntry> entries = installedModMap.get(dependency.getUniqueID());
|
||||
if(entries.size() == 0) {
|
||||
for (String key : installedModMap.keySet()) {
|
||||
if(StringUtils.equalsIgnoreCase(key, dependency.getUniqueID())) {
|
||||
dependency.setUniqueID(key);
|
||||
entries = installedModMap.get(dependency.getUniqueID());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (entries.size() != 1)
|
||||
return true;
|
||||
String version = entries.get(0).getVersion();
|
||||
|
@ -223,6 +232,15 @@ public class ModAssetsManager {
|
|||
return null;
|
||||
}
|
||||
ImmutableList<ModManifestEntry> entries = installedModMap.get(dependency.getUniqueID());
|
||||
if(entries.size() == 0) {
|
||||
for (String key : installedModMap.keySet()) {
|
||||
if(StringUtils.equalsIgnoreCase(key, dependency.getUniqueID())) {
|
||||
dependency.setUniqueID(key);
|
||||
entries = installedModMap.get(dependency.getUniqueID());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (entries.size() != 1)
|
||||
return root.getContext().getString(R.string.error_depends_on_mod, mod.getUniqueID(), dependency.getUniqueID());
|
||||
String version = entries.get(0).getVersion();
|
||||
|
|
|
@ -1,65 +1,82 @@
|
|||
package com.zane.smapiinstaller.ui.about;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.didikee.donate.AlipayDonate;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnClick;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.Toast;
|
||||
|
||||
import com.afollestad.materialdialogs.MaterialDialog;
|
||||
import com.zane.smapiinstaller.R;
|
||||
import com.zane.smapiinstaller.logic.CommonLogic;
|
||||
|
||||
import java.time.Duration;
|
||||
|
||||
/**
|
||||
* A simple {@link Fragment} subclass.
|
||||
* Use the {@link AboutFragment#newInstance} factory method to
|
||||
* create an instance of this fragment.
|
||||
*/
|
||||
public class AboutFragment extends Fragment {
|
||||
// TODO: Rename parameter arguments, choose names that match
|
||||
// the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
|
||||
private static final String ARG_PARAM1 = "param1";
|
||||
private static final String ARG_PARAM2 = "param2";
|
||||
|
||||
// TODO: Rename and change types of parameters
|
||||
private String mParam1;
|
||||
private String mParam2;
|
||||
|
||||
public AboutFragment() {
|
||||
// Required empty public constructor
|
||||
}
|
||||
|
||||
/**
|
||||
* Use this factory method to create a new instance of
|
||||
* this fragment using the provided parameters.
|
||||
*
|
||||
* @param param1 Parameter 1.
|
||||
* @param param2 Parameter 2.
|
||||
* @return A new instance of fragment AboutFragment.
|
||||
*/
|
||||
// TODO: Rename and change types and number of parameters
|
||||
public static AboutFragment newInstance(String param1, String param2) {
|
||||
AboutFragment fragment = new AboutFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putString(ARG_PARAM1, param1);
|
||||
args.putString(ARG_PARAM2, param2);
|
||||
fragment.setArguments(args);
|
||||
return fragment;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
if (getArguments() != null) {
|
||||
mParam1 = getArguments().getString(ARG_PARAM1);
|
||||
mParam2 = getArguments().getString(ARG_PARAM2);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
// Inflate the layout for this fragment
|
||||
return inflater.inflate(R.layout.fragment_about, container, false);
|
||||
View root = inflater.inflate(R.layout.fragment_about, container, false);
|
||||
ButterKnife.bind(this, root);
|
||||
return root;
|
||||
}
|
||||
@OnClick(R.id.button_release) void release() {
|
||||
CommonLogic.openUrl(this.getContext(), "https://github.com/ZaneYork/SMAPI-Android-Installer/releases");
|
||||
}
|
||||
@OnClick({R.id.button_qq_group_1, R.id.button_qq_group_2}) void joinQQ(Button which) {
|
||||
String baseUrl = "mqqopensdkapi://bizAgent/qm/qr?url=http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Ffrom%3Dapp%26p%3Dandroid%26k%3D";
|
||||
if(which.getId() == R.id.button_qq_group_1) {
|
||||
CommonLogic.openUrl(this.getContext(), baseUrl + "AAflCLHiWw1haM1obu_f-CpGsETxXc6b");
|
||||
}
|
||||
else {
|
||||
CommonLogic.openUrl(this.getContext(), baseUrl + "kshK7BavcS2jXZ6exDvezc18ksLB8YsM");
|
||||
}
|
||||
}
|
||||
|
||||
@OnClick(R.id.button_donation) void donation() {
|
||||
Context context = this.getContext();
|
||||
new MaterialDialog.Builder(context).title(R.string.button_donation_text).items(R.array.donation_methods).itemsCallback((dialog, itemView, position, text) -> {
|
||||
switch (position){
|
||||
case 0:
|
||||
boolean hasInstalledAlipayClient = AlipayDonate.hasInstalledAlipayClient(context);
|
||||
if (hasInstalledAlipayClient) {
|
||||
AlipayDonate.startAlipayClient(this.getActivity(), "fkx13570v1pp2xenyrx4y3f");
|
||||
}
|
||||
else {
|
||||
CommonLogic.openUrl(context, "http://dl.zaneyork.cn/alipay.png");
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
CommonLogic.openUrl(context, "http://dl.zaneyork.cn/wechat.png");
|
||||
break;
|
||||
case 2:
|
||||
CommonLogic.openUrl(context, "http://dl.zaneyork.cn/qqpay.png");
|
||||
break;
|
||||
case 3:
|
||||
hasInstalledAlipayClient = AlipayDonate.hasInstalledAlipayClient(context);
|
||||
if (hasInstalledAlipayClient) {
|
||||
if (CommonLogic.copyToClipboard(context, "9188262")) {
|
||||
PackageManager packageManager = context.getPackageManager();
|
||||
Intent intent = packageManager.getLaunchIntentForPackage("com.eg.android.AlipayGphone");
|
||||
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
context.startActivity(intent);
|
||||
Toast.makeText(context, R.string.toast_redpacket_message, Toast.LENGTH_LONG).show();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}).show();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,9 +33,6 @@ public class HelpFragment extends Fragment {
|
|||
@OnClick(R.id.button_nexus) void nexus() {
|
||||
CommonLogic.openUrl(this.getContext(), "https://www.nexusmods.com/stardewvalley/mods/");
|
||||
}
|
||||
@OnClick(R.id.button_release) void release() {
|
||||
CommonLogic.openUrl(this.getContext(), "https://github.com/ZaneYork/SMAPI-Android-Installer/releases");
|
||||
}
|
||||
@OnClick({R.id.button_logs}) void showLog() {
|
||||
NavController controller = Navigation.findNavController(this.getView());
|
||||
File logFile = new File(Environment.getExternalStorageDirectory(), Constants.LOG_PATH);
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
|
@ -3,13 +3,116 @@
|
|||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:divider="@drawable/horizontal_divider"
|
||||
android:padding="10dp"
|
||||
android:showDividers="middle"
|
||||
android:orientation="vertical"
|
||||
tools:context=".ui.about.AboutFragment">
|
||||
|
||||
<TextView
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/test_message" />
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/img_qq_1"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/tencentqq"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<Button
|
||||
android:id="@+id/button_qq_group_1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/img_qq_1"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:gravity="center"
|
||||
android:textSize="24sp"
|
||||
android:text="@string/button_qq_group_1_text" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/img_qq_2"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/tencentqq"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<Button
|
||||
android:id="@+id/button_qq_group_2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/img_qq_2"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:gravity="center"
|
||||
android:textSize="24sp"
|
||||
android:text="@string/button_qq_group_2_text" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/img_test"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/ic_menu_share"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<TextView
|
||||
android:id="@+id/button_release"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/img_test"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:gravity="center"
|
||||
android:textSize="24sp"
|
||||
android:text="@string/button_release" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
<ImageView
|
||||
android:id="@+id/img_heart"
|
||||
android:layout_width="40dp"
|
||||
android:layout_height="40dp"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@drawable/heart"
|
||||
android:contentDescription="@string/icon_desc" />
|
||||
<Button
|
||||
android:id="@+id/button_donation"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toEndOf="@id/img_heart"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:gravity="center"
|
||||
android:textSize="24sp"
|
||||
android:text="@string/button_donation_text" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
|
||||
</LinearLayout>
|
|
@ -30,14 +30,6 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/guideline_h1"
|
||||
app:layout_constraintStart_toEndOf="@id/button_nexus" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button_release"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/button_release"
|
||||
app:layout_constraintTop_toBottomOf="@id/guideline_h1"
|
||||
app:layout_constraintStart_toEndOf="@id/button_logs" />
|
||||
|
||||
<androidx.constraintlayout.widget.Guideline
|
||||
android:id="@+id/guideline_h1"
|
||||
android:layout_width="wrap_content"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
android:id="@+id/imageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:contentDescription="@string/nav_header_desc"
|
||||
android:contentDescription="@string/icon_desc"
|
||||
android:paddingTop="@dimen/nav_header_vertical_spacing"
|
||||
app:srcCompat="@mipmap/ic_launcher_round" />
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="donation_methods">
|
||||
<item>支付寶</item>
|
||||
<item>微信</item>
|
||||
<item>QQ</item>
|
||||
<item>紅包碼</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -4,7 +4,6 @@
|
|||
<string name="navigation_drawer_close">Close navigation drawer</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_desc">Navigation header</string>
|
||||
<string name="action_settings">設置</string>
|
||||
|
||||
<string name="menu_install">安裝</string>
|
||||
|
@ -45,13 +44,16 @@
|
|||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_depends_on_mod">%s依賴%s前置,請先安裝它</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="downloading">正在下載: %d KB / %d KB</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="android_version_confirm">你的系統版本過老,可能會導致0Harmony無效,建議升級到安卓6及以上版本</string>
|
||||
<string name="error_depends_on_mod_version" >The %s is depends on %s %s version or later, please update it first</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_donation_text">捐贈</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="donation_methods">
|
||||
<item>支付寶</item>
|
||||
<item>微信</item>
|
||||
<item>QQ</item>
|
||||
<item>紅包碼</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -4,7 +4,6 @@
|
|||
<string name="navigation_drawer_close">Close navigation drawer</string>
|
||||
<string name="nav_header_title">SMAPI安裝器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_desc">Navigation header</string>
|
||||
<string name="action_settings">設置</string>
|
||||
|
||||
<string name="menu_install">安裝</string>
|
||||
|
@ -45,13 +44,16 @@
|
|||
<string name="error_no_supported_game_version">遊戲版本不支持,請更新版本或者下載兼容包</string>
|
||||
<string name="menu_download">下載</string>
|
||||
<string name="error_failed_to_download">無法下載目標資源</string>
|
||||
<string name="error_depends_on_mod">%s依賴%s前置,請先安裝它</string>
|
||||
<string name="error_depends_on_mod">%1$s依賴%2$s前置,請先安裝它</string>
|
||||
<string name="locale_pack">語言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下載安裝</string>
|
||||
<string name="progress">進度</string>
|
||||
<string name="downloading">正在下載: %d KB / %d KB</string>
|
||||
<string name="downloading">正在下載: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="android_version_confirm">你的系統版本過老,可能會導致0Harmony無效,建議升級到安卓6及以上版本</string>
|
||||
<string name="error_depends_on_mod_version" >The %s is depends on %s %s version or later, please update it first</string>
|
||||
<string name="error_depends_on_mod_version" >%1$s依賴%2$s %3$s版本,請先更新它</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_donation_text">捐贈</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="donation_methods">
|
||||
<item>支付宝</item>
|
||||
<item>微信</item>
|
||||
<item>QQ</item>
|
||||
<item>红包码</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -4,7 +4,6 @@
|
|||
<string name="navigation_drawer_close">Close navigation drawer</string>
|
||||
<string name="nav_header_title">SMAPI安装器</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_desc">Navigation header</string>
|
||||
<string name="action_settings">设置</string>
|
||||
|
||||
<string name="menu_install">安装</string>
|
||||
|
@ -45,13 +44,16 @@
|
|||
<string name="error_no_supported_game_version">游戏版本不支持,请更新版本或者下载兼容包</string>
|
||||
<string name="menu_download">下载</string>
|
||||
<string name="error_failed_to_download">无法下载目标资源</string>
|
||||
<string name="error_depends_on_mod">%s依赖%s前置,请先安装它</string>
|
||||
<string name="error_depends_on_mod">%1$s依赖%2$s前置,请先安装它</string>
|
||||
<string name="locale_pack">语言包</string>
|
||||
<string name="info">提示</string>
|
||||
<string name="download_unpack_success">已完成下载安装</string>
|
||||
<string name="progress">进度</string>
|
||||
<string name="downloading">正在下载: %d KB / %d KB</string>
|
||||
<string name="downloading">正在下载: %1$d KB / %2$d KB</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<string name="android_version_confirm">你的系统版本过老,可能会导致0Harmony无效,建议升级到安卓6及以上版本</string>
|
||||
<string name="error_depends_on_mod_version" >%s依赖%s %s版本,请先更新它</string>
|
||||
<string name="button_qq_group_1_text">QQ群①: 860453392</string>
|
||||
<string name="button_donation_text">捐赠</string>
|
||||
<string name="button_qq_group_2_text">QQ群②: 1078428449</string>
|
||||
<string name="error_depends_on_mod_version">%1$s依赖%2$s %3$s版本,请先更新它</string>
|
||||
</resources>
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="donation_methods">
|
||||
<item>Alipay</item>
|
||||
<item>WeChat</item>
|
||||
<item>QQ</item>
|
||||
<item>Red Packet Code</item>
|
||||
</string-array>
|
||||
</resources>
|
|
@ -4,7 +4,6 @@
|
|||
<string name="navigation_drawer_close">Close navigation drawer</string>
|
||||
<string name="nav_header_title">SMAPI Installer</string>
|
||||
<string name="nav_header_subtitle">ZaneYork@qq.com</string>
|
||||
<string name="nav_header_desc">Navigation header</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
|
||||
<string name="menu_install">Install</string>
|
||||
|
@ -45,16 +44,20 @@
|
|||
<string name="error_no_supported_game_version">Game version not supported, upgrade or download compat package first</string>
|
||||
<string name="menu_download">Download</string>
|
||||
<string name="error_failed_to_download">Failed to download target resources</string>
|
||||
<string name="error_depends_on_mod">The %s is depends on %s, please install it first</string>
|
||||
<string name="error_depends_on_mod">The %1$s is depends on %2$s, please install it first</string>
|
||||
<string name="locale_pack">Locale Pack</string>
|
||||
<string name="info">Info</string>
|
||||
<string name="download_unpack_success">Download and unpack success</string>
|
||||
<string name="progress">Progress</string>
|
||||
<string name="downloading">Downloading: %d KB / %d KB</string>
|
||||
<string name="downloading">Downloading: %1$d KB / %2$d KB</string>
|
||||
|
||||
<!-- TODO: Remove or change this placeholder text -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
<string name="menu_about">About</string>
|
||||
<string name="android_version_confirm">You device system version is too old for MonoMod, this may leads to crash of 0Harmony framework, update to Android M or later if possible</string>
|
||||
<string name="error_depends_on_mod_version">The %s is depends on %s %s version or later, please update it first</string>
|
||||
<string name="error_depends_on_mod_version">The %1$s is depends on %2$s %3$s version or later, please update it first</string>
|
||||
<string name="button_qq_group_1_text">QQ Group 1: 860453392</string>
|
||||
<string name="button_qq_group_2_text">QQ Group 2: 1078428449</string>
|
||||
<string name="icon_desc" translatable="false">icon</string>
|
||||
<string name="button_donation_text">Donation</string>
|
||||
<string name="toast_redpacket_message" translatable="false">红包码已复制\n支付宝首页搜索“9188262” 立即领红包</string>
|
||||
</resources>
|
||||
|
|
|
@ -5,11 +5,10 @@ buildscript {
|
|||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:3.6.1'
|
||||
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha02"
|
||||
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.0-alpha03"
|
||||
|
||||
|
||||
// NOTE: Do not place your application dependencies here; they belong
|
||||
|
@ -21,6 +20,7 @@ allprojects {
|
|||
repositories {
|
||||
google()
|
||||
jcenter()
|
||||
maven { url 'https://jitpack.io' }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue