fixed dialog style in tgs and PreferencesUtil

This commit is contained in:
gdlbo
2022-07-14 22:12:23 +03:00
parent ad6c350e69
commit 1ddc2f6b14
2 changed files with 56 additions and 41 deletions
@@ -184,7 +184,7 @@ public class PreferencesUtil{
margin.setMargins(convertDpToPixel(20f), 0, convertDpToPixel(20f), 0); margin.setMargins(convertDpToPixel(20f), 0, convertDpToPixel(20f), 0);
editText.setLayoutParams(margin); editText.setLayoutParams(margin);
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getContext(), getAlertStyle()); AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getContext());
builder.setTitle(title); builder.setTitle(title);
builder.setView(linearLayout); builder.setView(linearLayout);
builder.setPositiveButton("OK", (dialog, which) -> { builder.setPositiveButton("OK", (dialog, which) -> {
@@ -5,11 +5,13 @@ import static android.widget.Toast.makeText;
import static ru.vtosters.lite.utils.Globals.convertDpToPixel; import static ru.vtosters.lite.utils.Globals.convertDpToPixel;
import static ru.vtosters.lite.utils.Globals.getIdentifier; import static ru.vtosters.lite.utils.Globals.getIdentifier;
import static ru.vtosters.lite.utils.Themes.getAccentColor; import static ru.vtosters.lite.utils.Themes.getAccentColor;
import static ru.vtosters.lite.utils.Themes.getAlertStyle;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.content.res.ColorStateList; import android.content.res.ColorStateList;
@@ -43,7 +45,7 @@ import ru.vtosters.lite.ui.PreferencesUtil;
import ru.vtosters.lite.ui.fragments.BaseToolbarFragment; import ru.vtosters.lite.ui.fragments.BaseToolbarFragment;
import ru.vtosters.lite.utils.Globals; import ru.vtosters.lite.utils.Globals;
public class StickersFragment extends BaseToolbarFragment { public class StickersFragment extends BaseToolbarFragment{
public final static String ACTION_RELOAD = "com.vtosters.lite.action.RELOAD_TGS_LIST"; public final static String ACTION_RELOAD = "com.vtosters.lite.action.RELOAD_TGS_LIST";
@@ -56,9 +58,9 @@ public class StickersFragment extends BaseToolbarFragment {
private RecyclerView mRecycler; private RecyclerView mRecycler;
private StickerPackAdapter mAdapter; private StickerPackAdapter mAdapter;
private boolean movePending = false; private boolean movePending = false;
private final BroadcastReceiver mReceiver = new BroadcastReceiver() { private final BroadcastReceiver mReceiver = new BroadcastReceiver(){
@Override @Override
public void onReceive(Context context, Intent intent) { public void onReceive(Context context, Intent intent){
if (intent.getAction().equals(ACTION_RELOAD)) { if (intent.getAction().equals(ACTION_RELOAD)) {
if (mAdapter != null) { if (mAdapter != null) {
try { try {
@@ -79,7 +81,7 @@ public class StickersFragment extends BaseToolbarFragment {
}; };
@Override @Override
protected void onCreateMenu(Menu menu) { protected void onCreateMenu(Menu menu){
var item = menu.add(0, 0, 0, ""); var item = menu.add(0, 0, 0, "");
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
item.setIcon(getResources().getDrawable(getIdentifier("ic_settings_24", "drawable"))); item.setIcon(getResources().getDrawable(getIdentifier("ic_settings_24", "drawable")));
@@ -88,12 +90,12 @@ public class StickersFragment extends BaseToolbarFragment {
} }
@Override @Override
public boolean onOptionsItemSelected(MenuItem arg0) { public boolean onOptionsItemSelected(MenuItem arg0){
openMenu(null); openMenu(null);
return true; return true;
} }
private void openMenu(String toast) { private void openMenu(String toast){
if (toast != null) { if (toast != null) {
makeText(getContext(), toast, LENGTH_SHORT).show(); makeText(getContext(), toast, LENGTH_SHORT).show();
} }
@@ -103,7 +105,7 @@ public class StickersFragment extends BaseToolbarFragment {
} }
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
getContext().registerReceiver(mReceiver, new IntentFilter(ACTION_RELOAD)); getContext().registerReceiver(mReceiver, new IntentFilter(ACTION_RELOAD));
@@ -112,7 +114,7 @@ public class StickersFragment extends BaseToolbarFragment {
} }
@Override @Override
public View onCreateContent(@NonNull LayoutInflater inflater, @Nullable Bundle bundle) { public View onCreateContent(@NonNull LayoutInflater inflater, @Nullable Bundle bundle){
setTitle(getIdentifier("vtltgs", "string")); setTitle(getIdentifier("vtltgs", "string"));
FrameLayout layout = new FrameLayout(getContext()); FrameLayout layout = new FrameLayout(getContext());
@@ -138,17 +140,17 @@ public class StickersFragment extends BaseToolbarFragment {
@Override @Override
public void onViewCreated(View arg0, Bundle arg1) { public void onViewCreated(View arg0, Bundle arg1){
super.onViewCreated(arg0, arg1); super.onViewCreated(arg0, arg1);
} }
@Override @Override
public void onDestroyView() { public void onDestroyView(){
super.onDestroyView(); super.onDestroyView();
getContext().unregisterReceiver(mReceiver); getContext().unregisterReceiver(mReceiver);
} }
private void fabClick() { private void fabClick(){
int method = TGPref.getTGConnectMethod(); int method = TGPref.getTGConnectMethod();
if (method == -1) { if (method == -1) {
openMenu(Globals.getString("stickersconnection")); openMenu(Globals.getString("stickersconnection"));
@@ -166,6 +168,7 @@ public class StickersFragment extends BaseToolbarFragment {
final EditText editText = new EditText(getContext()); final EditText editText = new EditText(getContext());
editText.setHintTextColor(PreferencesUtil.getSTextColor(getContext())); editText.setHintTextColor(PreferencesUtil.getSTextColor(getContext()));
editText.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
// Костыль для китката // Костыль для китката
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
@@ -179,21 +182,29 @@ public class StickersFragment extends BaseToolbarFragment {
margin.setMargins(convertDpToPixel(24f), 0, convertDpToPixel(24f), 0); margin.setMargins(convertDpToPixel(24f), 0, convertDpToPixel(24f), 0);
editText.setLayoutParams(margin); editText.setLayoutParams(margin);
new AlertDialog.Builder(getContext()).setTitle(Globals.getString("stickershelp1")) var dlg = new AlertDialog.Builder(getContext(), getAlertStyle());
.setMessage(Globals.getString("stickershelp2")) dlg.setTitle(Globals.getString("stickershelp1"));
.setView(linearLayout) dlg.setMessage(Globals.getString("stickershelp2"));
.setPositiveButton(android.R.string.ok, (dialog, which) -> { dlg.setView(linearLayout);
String pack = editText.getText().toString(); dlg.setPositiveButton(android.R.string.ok, (dialog, which) -> {
pack = parsePack(pack); String pack = editText.getText().toString();
mService.requestPackDownload(pack, new File(getContext().getFilesDir(), new File("VT-Stickers", pack).getAbsolutePath())); pack = parsePack(pack);
}).setNeutralButton(android.R.string.cancel, null).create().show(); mService.requestPackDownload(pack, new File(getContext().getFilesDir(), new File("VT-Stickers", pack).getAbsolutePath()));
});
dlg.setNeutralButton(android.R.string.cancel, null);
var alert = dlg.create();
alert.show();
alert.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor());
alert.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(getAccentColor());
}; };
if (TGPref.getTGBotKey() == null) enterBotKey(() -> checkApiKey(callback)); if (TGPref.getTGBotKey() == null) enterBotKey(() -> checkApiKey(callback));
else checkApiKey(callback); else checkApiKey(callback);
} }
} }
private void initGrabber() { private void initGrabber(){
int method = TGPref.getTGConnectMethod(); int method = TGPref.getTGConnectMethod();
if (method == TYPE_DIRECT) { if (method == TYPE_DIRECT) {
TelegramStickersGrabber.USE_PROXY = false; TelegramStickersGrabber.USE_PROXY = false;
@@ -214,13 +225,12 @@ public class StickersFragment extends BaseToolbarFragment {
TelegramStickersGrabber.updateURLs(); TelegramStickersGrabber.updateURLs();
} }
private void enterBotKey(Runnable r) { private void enterBotKey(Runnable r){
LinearLayout linearLayout = new LinearLayout(getContext()); LinearLayout linearLayout = new LinearLayout(getContext());
final EditText editText = new EditText(getContext()); final EditText editText = new EditText(getContext());
editText.setHintTextColor(PreferencesUtil.getSTextColor(getContext())); editText.setHintTextColor(PreferencesUtil.getSTextColor(getContext()));
editText.setBackgroundTintList(ColorStateList.valueOf(getAccentColor()));
ViewCompat.setBackgroundTintList(editText, ColorStateList.valueOf(PreferencesUtil.getTextColor(getContext())));
linearLayout.addView(editText); linearLayout.addView(editText);
editText.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT; editText.getLayoutParams().width = ViewGroup.LayoutParams.MATCH_PARENT;
@@ -234,22 +244,27 @@ public class StickersFragment extends BaseToolbarFragment {
Globals.getString("stickersapi10")).setPositiveButton(android.R.string.ok, null) Globals.getString("stickersapi10")).setPositiveButton(android.R.string.ok, null)
.create(); .create();
new AlertDialog.Builder(getContext()) var dlg = new AlertDialog.Builder(getContext());
.setTitle(Globals.getString("stickersapi5")) dlg.setTitle(Globals.getString("stickersapi5"));
.setMessage(Globals.getString("stickersapi6")) dlg.setMessage(Globals.getString("stickersapi6"));
.setView(linearLayout) dlg.setView(linearLayout);
.setPositiveButton(android.R.string.ok, (dialog, which) -> { dlg.setPositiveButton(android.R.string.ok, (dialog, which) -> {
TGPref.setTGBotKey(editText.getText().toString()); TGPref.setTGBotKey(editText.getText().toString());
if (r != null) r.run(); if (r != null) r.run();
}) });
.setNegativeButton(android.R.string.cancel, null) dlg.setNegativeButton(android.R.string.cancel, null)
.setNeutralButton(Globals.getString("stickersapi7"), .setNeutralButton(Globals.getString("stickersapi7"),
(dialog, which) -> alert.show()) (dialog, which) -> alert.show());
.create() var alerts = dlg.create();
.show();
alerts.show();
alerts.getButton(DialogInterface.BUTTON_POSITIVE).setTextColor(getAccentColor());
alerts.getButton(DialogInterface.BUTTON_NEUTRAL).setTextColor(getAccentColor());
alerts.getButton(DialogInterface.BUTTON_NEGATIVE).setTextColor(getAccentColor());
} }
private void checkApiKey(Runnable callback) { private void checkApiKey(Runnable callback){
mGrabber.setBotApiKey(TGPref.getTGBotKey()); mGrabber.setBotApiKey(TGPref.getTGBotKey());
var context = getContext(); var context = getContext();
@@ -259,9 +274,9 @@ public class StickersFragment extends BaseToolbarFragment {
progressDialog.setMessage(Globals.getString("stickersapi1")); progressDialog.setMessage(Globals.getString("stickersapi1"));
progressDialog.show(); progressDialog.show();
mGrabber.checkKey(new TelegramStickersGrabber.KeyCheckListener() { mGrabber.checkKey(new TelegramStickersGrabber.KeyCheckListener(){
@Override @Override
public void onKeyChecked(boolean ok) { public void onKeyChecked(boolean ok){
progressDialog.dismiss(); progressDialog.dismiss();
if (!ok) { if (!ok) {
makeText(context, Globals.getString("stickersapi2"), LENGTH_SHORT).show(); makeText(context, Globals.getString("stickersapi2"), LENGTH_SHORT).show();
@@ -273,7 +288,7 @@ public class StickersFragment extends BaseToolbarFragment {
} }
@Override @Override
public void onNetError() { public void onNetError(){
progressDialog.dismiss(); progressDialog.dismiss();
new AlertDialog.Builder(context) new AlertDialog.Builder(context)
.setMessage(Globals.getString("stickersapi3")) .setMessage(Globals.getString("stickersapi3"))
@@ -285,7 +300,7 @@ public class StickersFragment extends BaseToolbarFragment {
}); });
} }
private String parsePack(String pack) { private String parsePack(String pack){
if (pack.startsWith("https://t.me/addstickers/")) { if (pack.startsWith("https://t.me/addstickers/")) {
pack = pack.substring(25); pack = pack.substring(25);
} else if (pack.startsWith("https://telegram.me/addstickers/")) { } else if (pack.startsWith("https://telegram.me/addstickers/")) {