Skip to content

Commit

Permalink
Improved transaltor page import options
Browse files Browse the repository at this point in the history
Signed-off-by: sunilpaulmathew <sunil.kde@gmail.com>
  • Loading branch information
sunilpaulmathew committed Dec 18, 2020
1 parent 8b89caf commit 5360b71
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import android.annotation.SuppressLint;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.provider.Settings;
import android.view.LayoutInflater;
Expand All @@ -32,6 +33,7 @@

import com.smartpack.kernelmanager.BuildConfig;
import com.smartpack.kernelmanager.R;
import com.smartpack.kernelmanager.activities.LaunchFragmentActivity;
import com.smartpack.kernelmanager.fragments.BaseFragment;
import com.smartpack.kernelmanager.fragments.RecyclerViewFragment;
import com.smartpack.kernelmanager.utils.Utils;
Expand Down Expand Up @@ -248,7 +250,7 @@ private void librariesInit(List<RecyclerViewItem> items) {
}
}

@SuppressLint("UseCompatLoadingForDrawables")
@SuppressLint({"UseCompatLoadingForDrawables", "StaticFieldLeak"})
private void translationsInit(List<RecyclerViewItem> items) {
TitleView translators = new TitleView();
translators.setText(getString(R.string.translators));
Expand All @@ -259,7 +261,27 @@ private void translationsInit(List<RecyclerViewItem> items) {
translator.setSummary(getString(R.string.translators_message));
translator.setFullSpan(true);
translator.setOnItemClickListener(item -> {
Utils.importTranslation(getActivity());
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
showProgressMessage(getString(R.string.importing_string) + ("..."));
showProgress();
}
@Override
protected Void doInBackground(Void... voids) {
Utils.importTranslation("values", getActivity());
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
hideProgress();
Utils.mTranslator = true;
Intent intent = new Intent(requireActivity(), LaunchFragmentActivity.class);
startActivity(intent);
}
}.execute();
});

items.add(translator);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.SubMenu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
Expand Down Expand Up @@ -343,11 +344,26 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
PopupMenu popupMenu = new PopupMenu(requireActivity(), settings);
Menu menu = popupMenu.getMenu();
if (Utils.existFile(Utils.getInternalDataStorage() + "/strings.xml")) {
menu.add(Menu.NONE, 0, Menu.NONE, getString(R.string.delete_string));
menu.add(Menu.NONE, 1, Menu.NONE, getString(R.string.delete_string));
}
menu.add(Menu.NONE, 1, Menu.NONE, getString(R.string.import_string));
SubMenu import_string = menu.addSubMenu(Menu.NONE, 0, Menu.NONE, getString(R.string.import_string));
import_string.add(Menu.NONE, 2, Menu.NONE, "Chinese (rTW)");
import_string.add(Menu.NONE, 3, Menu.NONE, "Chinese (rCN)");
import_string.add(Menu.NONE, 4, Menu.NONE, "Russian");
import_string.add(Menu.NONE, 5, Menu.NONE, "Portuguese (rPt)");
import_string.add(Menu.NONE, 6, Menu.NONE, "Korean");
import_string.add(Menu.NONE, 7, Menu.NONE, "Ukrainian");
import_string.add(Menu.NONE, 8, Menu.NONE, "Amharic");
import_string.add(Menu.NONE, 9, Menu.NONE, "German");
import_string.add(Menu.NONE, 10, Menu.NONE, "Spanish");
import_string.add(Menu.NONE, 11, Menu.NONE, "Polish");
popupMenu.setOnMenuItemClickListener(item -> {
if (item.getItemId() == 0) {
return false;
} else if (item.getItemId() > 1 && Utils.existFile(Utils.getInternalDataStorage() + "/strings.xml")) {
Utils.snackbar(mRootView, getString(R.string.import_string_message));
return false;
} else if (item.getItemId() == 1) {
new Dialog(requireActivity())
.setMessage(getString(R.string.delete_string_message))
.setNegativeButton(getString(R.string.cancel), (dialogInterface, iv) -> {
Expand All @@ -358,44 +374,52 @@ public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
translatorFragment.reload();
})
.show();
} else if (item.getItemId() == 1) {
if (Utils.existFile(Utils.getInternalDataStorage() + "/strings.xml")) {
Utils.snackbar(mRootView, getString(R.string.import_string_message));
} else if (!Utils.isNetworkAvailable(requireActivity())) {
Utils.snackbar(mRootView, getString(R.string.no_internet));
} else {
ViewUtils.dialogEditText(getString(R.string.import_string_hint),
(dialogInterface, i) -> {
}, text -> {
if (text.isEmpty()) {
return;
}
new AsyncTask<Void, Void, Void>() {
@Override
protected void onPreExecute() {
super.onPreExecute();
assert translatorFragment != null;
translatorFragment.showProgressMessage(getString(R.string.importing_string) + ("..."));
}

@Override
protected Void doInBackground(Void... voids) {
Utils.downloadFile(Utils.getInternalDataStorage() + "/strings.xml", text
.replace("/blob/", "/raw/"), getActivity());
return null;
}

@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
assert translatorFragment != null;
translatorFragment.hideProgressMessage();
translatorFragment.reload();
}
}.execute();
}, getActivity()).setOnDismissListener(dialogInterface -> {
}).show();
}
} else {
new AsyncTask<Void, Void, Void>() {
String url = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
assert translatorFragment != null;
translatorFragment.showProgressMessage(getString(R.string.importing_string) + ("..."));
translatorFragment.showProgress();
if (item.getItemId() == 2) {
url = "values-zh-rTW";
} else if (item.getItemId() == 3) {
url = "values-zh-rCN";
} else if (item.getItemId() == 4) {
url = "values-ru";
} else if (item.getItemId() == 5) {
url = "values-pt-rBR";
} else if (item.getItemId() == 6) {
url = "values-ko";
} else if (item.getItemId() == 7) {
url = "values-uk";
} else if (item.getItemId() == 8) {
url = "values-am";
} else if (item.getItemId() == 9) {
url = "values-de-rDE";
} else if (item.getItemId() == 10) {
url = "values-es";
} else if (item.getItemId() == 11) {
url = "values-pl";
}
}
@Override
protected Void doInBackground(Void... voids) {
if (url != null) {
Utils.importTranslation(url, getActivity());
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
assert translatorFragment != null;
translatorFragment.hideProgress();
translatorFragment.reload();
}
}.execute();
}
return false;
});
Expand Down
37 changes: 5 additions & 32 deletions app/src/main/java/com/smartpack/kernelmanager/utils/Utils.java
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@
import com.smartpack.kernelmanager.R;
import com.smartpack.kernelmanager.activities.StartActivity;
import com.smartpack.kernelmanager.activities.StartActivityMaterial;
import com.smartpack.kernelmanager.activities.LaunchFragmentActivity;
import com.smartpack.kernelmanager.utils.root.RootFile;
import com.smartpack.kernelmanager.utils.root.RootUtils;

Expand Down Expand Up @@ -585,37 +584,11 @@ public static String magiskBusyBox() {
return "/data/adb/magisk/busybox";
}

public static void importTranslation(Activity activity) {
new AsyncTask<Void, Void, Void>() {
private ProgressDialog mProgressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
mProgressDialog = new ProgressDialog(activity);
mProgressDialog.setMessage(activity.getString(R.string.importing_string) + ("..."));
mProgressDialog.setCancelable(false);
mProgressDialog.show();
}
@Override
protected Void doInBackground(Void... voids) {
if (!existFile(Utils.getInternalDataStorage() + "/strings.xml") && isNetworkAvailable(activity)) {
downloadFile(Utils.getInternalDataStorage() + "/strings.xml",
"https://github.com/raw/SmartPack/SmartPack-Kernel-Manager/beta/app/src/main/res/values/strings.xml", activity);
}
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
try {
mProgressDialog.dismiss();
} catch (IllegalArgumentException ignored) {
}
mTranslator = true;
Intent intent = new Intent(activity, LaunchFragmentActivity.class);
activity.startActivity(intent);
}
}.execute();
public static void importTranslation(String url, Activity activity) {
if (!existFile(Utils.getInternalDataStorage() + "/strings.xml") && isNetworkAvailable(activity)) {
downloadFile(Utils.getInternalDataStorage() + "/strings.xml",
"https://github.com/SmartPack/SmartPack-Kernel-Manager/raw/master/app/src/main/res/" + url + "/strings.xml", activity);
}
}

public static void downloadFile(String path, String url, Context context) {
Expand Down

0 comments on commit 5360b71

Please sign in to comment.