mirror of https://github.com/NekoX-Dev/NekoX.git
Dialog changes
This commit is contained in:
parent
4badf13e43
commit
88e35cf9b7
|
@ -139,6 +139,8 @@ import java.util.regex.Matcher;
|
|||
import java.util.regex.Pattern;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import kotlin.Unit;
|
||||
import tw.nekomimi.nekogram.BottomBuilder;
|
||||
import tw.nekomimi.nekogram.NekoConfig;
|
||||
import tw.nekomimi.nekogram.NekoXConfig;
|
||||
import tw.nekomimi.nekogram.utils.AlertUtil;
|
||||
|
@ -2495,18 +2497,18 @@ public class AndroidUtilities {
|
|||
}
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), realMimeType != null ? realMimeType : "text/plain");
|
||||
intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), realMimeType != null ? realMimeType : "*/*");
|
||||
} else {
|
||||
intent.setDataAndType(Uri.fromFile(f), realMimeType != null ? realMimeType : "text/plain");
|
||||
intent.setDataAndType(Uri.fromFile(f), realMimeType != null ? realMimeType : "*/*");
|
||||
}
|
||||
if (realMimeType != null) {
|
||||
try {
|
||||
activity.startActivityForResult(intent, 500);
|
||||
} catch (Exception e) {
|
||||
if (Build.VERSION.SDK_INT >= 24) {
|
||||
intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), "text/plain");
|
||||
intent.setDataAndType(FileProvider.getUriForFile(activity, BuildConfig.APPLICATION_ID + ".provider", f), "*/*");
|
||||
} else {
|
||||
intent.setDataAndType(Uri.fromFile(f), "text/plain");
|
||||
intent.setDataAndType(Uri.fromFile(f), "*/*");
|
||||
}
|
||||
activity.startActivityForResult(intent, 500);
|
||||
}
|
||||
|
@ -2559,17 +2561,17 @@ public class AndroidUtilities {
|
|||
}
|
||||
}
|
||||
if (Build.VERSION.SDK_INT >= 26 && realMimeType != null && realMimeType.equals("application/vnd.android.package-archive") && !ApplicationLoader.applicationContext.getPackageManager().canRequestPackageInstalls()) {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
builder.setMessage(LocaleController.getString("ApkRestricted", R.string.ApkRestricted));
|
||||
builder.setPositiveButton(LocaleController.getString("PermissionOpenSettings", R.string.PermissionOpenSettings), (dialogInterface, i) -> {
|
||||
BottomBuilder builder = new BottomBuilder(activity);
|
||||
builder.addTitle(LocaleController.getString("ApkRestricted", R.string.ApkRestricted));
|
||||
builder.addItem(LocaleController.getString("PermissionOpenSettings", R.string.PermissionOpenSettings), R.drawable.baseline_settings_24,(i) -> {
|
||||
try {
|
||||
activity.startActivity(new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, Uri.parse("package:" + activity.getPackageName())));
|
||||
} catch (Exception e) {
|
||||
FileLog.e(e);
|
||||
}
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
|
||||
builder.addCancelItem();
|
||||
builder.show();
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -58,6 +58,7 @@ import java.util.concurrent.CountDownLatch;
|
|||
import tw.nekomimi.nekogram.ExternalGcm;
|
||||
import tw.nekomimi.nekogram.InternalFilters;
|
||||
import tw.nekomimi.nekogram.NekoConfig;
|
||||
import tw.nekomimi.nekogram.utils.AlertUtil;
|
||||
import tw.nekomimi.nekogram.utils.ThreadUtil;
|
||||
import tw.nekomimi.nekogram.utils.UIUtil;
|
||||
|
||||
|
@ -12622,14 +12623,7 @@ public class MessagesController extends BaseController implements NotificationCe
|
|||
}
|
||||
|
||||
private static void showCantOpenAlert(BaseFragment fragment, String reason) {
|
||||
if (fragment == null || fragment.getParentActivity() == null) {
|
||||
return;
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
|
||||
builder.setMessage(reason);
|
||||
fragment.showDialog(builder.create());
|
||||
AlertUtil.showToast(reason);
|
||||
}
|
||||
|
||||
public boolean checkCanOpenChat(Bundle bundle, BaseFragment fragment) {
|
||||
|
|
|
@ -30,6 +30,8 @@ import java.util.Collections;
|
|||
import java.util.Locale;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import tw.nekomimi.nekogram.utils.AlertUtil;
|
||||
|
||||
public class SecretChatHelper extends BaseController {
|
||||
|
||||
public static class TL_decryptedMessageHolder extends TLObject {
|
||||
|
@ -1950,25 +1952,12 @@ public class SecretChatHelper extends BaseController {
|
|||
});
|
||||
} else {
|
||||
delayedEncryptedChatUpdates.clear();
|
||||
AndroidUtilities.runOnUIThread(() -> {
|
||||
if (!((Activity) context).isFinishing()) {
|
||||
startingSecretChat = false;
|
||||
try {
|
||||
progressDialog.dismiss();
|
||||
} catch (Exception e) {
|
||||
FileLog.e(e);
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
builder.setMessage(LocaleController.getString("CreateEncryptedChatError", R.string.CreateEncryptedChatError));
|
||||
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
|
||||
builder.show().setCanceledOnTouchOutside(true);
|
||||
}
|
||||
});
|
||||
AlertUtil.showToast(error);
|
||||
}
|
||||
}, ConnectionsManager.RequestFlagFailOnServerErrors);
|
||||
} else {
|
||||
delayedEncryptedChatUpdates.clear();
|
||||
AlertUtil.showToast(error);
|
||||
AndroidUtilities.runOnUIThread(() -> {
|
||||
startingSecretChat = false;
|
||||
if (!((Activity) context).isFinishing()) {
|
||||
|
|
|
@ -56,6 +56,9 @@ import org.telegram.ui.Components.URLSpanNoUnderline;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import kotlin.Unit;
|
||||
import tw.nekomimi.nekogram.BottomBuilder;
|
||||
|
||||
@TargetApi(23)
|
||||
public class ActionIntroActivity extends BaseFragment implements LocationController.LocationFetchCallback {
|
||||
|
||||
|
@ -544,11 +547,13 @@ public class ActionIntroActivity extends BaseFragment implements LocationControl
|
|||
break;
|
||||
}
|
||||
case ACTION_TYPE_CHANGE_PHONE_NUMBER: {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("PhoneNumberChangeTitle", R.string.PhoneNumberChangeTitle));
|
||||
builder.setMessage(LocaleController.getString("PhoneNumberAlert", R.string.PhoneNumberAlert));
|
||||
builder.setPositiveButton(LocaleController.getString("Change", R.string.Change), (dialogInterface, i) -> presentFragment(new ChangePhoneActivity(), true));
|
||||
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
|
||||
BottomBuilder builder = new BottomBuilder(getParentActivity());
|
||||
builder.addTitle(LocaleController.getString("PhoneNumberAlert", R.string.PhoneNumberAlert));
|
||||
builder.addItem(LocaleController.getString("Change", R.string.Change), (i) -> {
|
||||
presentFragment(new ChangePhoneActivity(), true);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
builder.addCancelItem();
|
||||
showDialog(builder.create());
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -68,6 +68,8 @@ import org.telegram.ui.Components.UndoView;
|
|||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import kotlin.Unit;
|
||||
import tw.nekomimi.nekogram.BottomBuilder;
|
||||
import tw.nekomimi.nekogram.transtale.TranslateDb;
|
||||
import tw.nekomimi.nekogram.utils.EnvUtil;
|
||||
import tw.nekomimi.nekogram.utils.FileUtil;
|
||||
|
@ -544,13 +546,11 @@ public class CacheControlActivity extends BaseFragment {
|
|||
}
|
||||
|
||||
private void clearDatabase() {
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("LocalDatabaseClearTextTitle", R.string.LocalDatabaseClearTextTitle));
|
||||
builder.setMessage(LocaleController.getString("LocalDatabaseClearText", R.string.LocalDatabaseClearText));
|
||||
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
|
||||
builder.setPositiveButton(LocaleController.getString("CacheClear", R.string.CacheClear), (dialogInterface, i) -> {
|
||||
BottomBuilder builder = new BottomBuilder(getParentActivity());
|
||||
builder.addTitle(LocaleController.getString("LocalDatabaseClearTextTitle", R.string.LocalDatabaseClearTextTitle), LocaleController.getString("LocalDatabaseClearText", R.string.LocalDatabaseClearText));
|
||||
builder.addItem(LocaleController.getString("CacheClear", R.string.CacheClear),R.drawable.baseline_delete_sweep_24, true, (i) -> {
|
||||
if (getParentActivity() == null) {
|
||||
return;
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
final AlertDialog progressDialog = new AlertDialog(getParentActivity(), 3);
|
||||
progressDialog.setCanCacnel(false);
|
||||
|
@ -650,13 +650,10 @@ public class CacheControlActivity extends BaseFragment {
|
|||
});
|
||||
}
|
||||
});
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
AlertDialog alertDialog = builder.create();
|
||||
showDialog(alertDialog);
|
||||
TextView button = (TextView) alertDialog.getButton(DialogInterface.BUTTON_POSITIVE);
|
||||
if (button != null) {
|
||||
button.setTextColor(Theme.getColor(Theme.key_dialogTextRed2));
|
||||
}
|
||||
builder.addCancelItem();
|
||||
builder.show();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -43,6 +43,12 @@ public class HeaderCell extends LinearLayout {
|
|||
}
|
||||
|
||||
public HeaderCell(Context context, String textColorKey, int padding, int topMargin, boolean text2) {
|
||||
|
||||
this(context, textColorKey, padding, topMargin, text2, false);
|
||||
|
||||
}
|
||||
|
||||
public HeaderCell(Context context, String textColorKey, int padding, int topMargin, boolean text2,boolean bigTitle) {
|
||||
super(context);
|
||||
|
||||
setOrientation(LinearLayout.VERTICAL);
|
||||
|
@ -50,7 +56,9 @@ public class HeaderCell extends LinearLayout {
|
|||
|
||||
textView = new TextView(getContext());
|
||||
textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 15);
|
||||
textView.setTypeface(AndroidUtilities.getTypeface("fonts/rmedium.ttf"));
|
||||
if (bigTitle) {
|
||||
textView.setTypeface(AndroidUtilities.getTypeface("fonts/mw_bold.ttf"));
|
||||
}
|
||||
textView.setEllipsize(TextUtils.TruncateAt.END);
|
||||
textView.setGravity((LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.CENTER_VERTICAL);
|
||||
textView.setMinHeight(AndroidUtilities.dp(height - topMargin));
|
||||
|
|
|
@ -118,6 +118,7 @@ import java.util.HashMap;
|
|||
|
||||
import tw.nekomimi.nekogram.NekoConfig;
|
||||
import tw.nekomimi.nekogram.NekoXConfig;
|
||||
import tw.nekomimi.nekogram.utils.AlertUtil;
|
||||
|
||||
public class ChannelAdminLogActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate {
|
||||
|
||||
|
@ -1323,11 +1324,7 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio
|
|||
selectedObject = null;
|
||||
return;
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
builder.setMessage(LocaleController.getString("IncorrectTheme", R.string.IncorrectTheme));
|
||||
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
|
||||
showDialog(builder.create());
|
||||
AlertUtil.showToast(LocaleController.getString("IncorrectTheme", R.string.IncorrectTheme));
|
||||
}
|
||||
} else {
|
||||
if (LocaleController.getInstance().applyLanguageFile(locFile, currentAccount)) {
|
||||
|
@ -1337,11 +1334,7 @@ public class ChannelAdminLogActivity extends BaseFragment implements Notificatio
|
|||
selectedObject = null;
|
||||
return;
|
||||
}
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
builder.setMessage(LocaleController.getString("IncorrectLocalization", R.string.IncorrectLocalization));
|
||||
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
|
||||
showDialog(builder.create());
|
||||
AlertUtil.showToast(LocaleController.getString("IncorrectLocalization", R.string.IncorrectLocalization));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -36,6 +36,7 @@ import android.widget.ScrollView;
|
|||
import android.widget.TextView;
|
||||
import android.widget.Toast;
|
||||
|
||||
import org.checkerframework.common.subtyping.qual.Bottom;
|
||||
import org.telegram.messenger.AndroidUtilities;
|
||||
import org.telegram.messenger.ApplicationLoader;
|
||||
import org.telegram.messenger.ChatObject;
|
||||
|
@ -72,6 +73,9 @@ import org.telegram.ui.Components.SizeNotifierFrameLayout;
|
|||
|
||||
import java.util.ArrayList;
|
||||
|
||||
import kotlin.Unit;
|
||||
import tw.nekomimi.nekogram.BottomBuilder;
|
||||
|
||||
public class ChannelCreateActivity extends BaseFragment implements NotificationCenter.NotificationCenterDelegate, ImageUpdater.ImageUpdaterDelegate {
|
||||
|
||||
private View doneButton;
|
||||
|
@ -953,15 +957,13 @@ public class ChannelCreateActivity extends BaseFragment implements NotificationC
|
|||
AdminedChannelCell adminedChannelCell = new AdminedChannelCell(getParentActivity(), view -> {
|
||||
AdminedChannelCell cell = (AdminedChannelCell) view.getParent();
|
||||
final TLRPC.Chat channel = cell.getCurrentChannel();
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity());
|
||||
builder.setTitle(LocaleController.getString("NekoX", R.string.NekoX));
|
||||
BottomBuilder builder = new BottomBuilder(getParentActivity());
|
||||
if (channel.megagroup) {
|
||||
builder.setMessage(AndroidUtilities.replaceTags(LocaleController.formatString("RevokeLinkAlert", R.string.RevokeLinkAlert, MessagesController.getInstance(currentAccount).linkPrefix + "/" + channel.username, channel.title)));
|
||||
builder.addTitle(AndroidUtilities.replaceTags(LocaleController.formatString("RevokeLinkAlert", R.string.RevokeLinkAlert, MessagesController.getInstance(currentAccount).linkPrefix + "/" + channel.username, channel.title)));
|
||||
} else {
|
||||
builder.setMessage(AndroidUtilities.replaceTags(LocaleController.formatString("RevokeLinkAlertChannel", R.string.RevokeLinkAlertChannel, MessagesController.getInstance(currentAccount).linkPrefix + "/" + channel.username, channel.title)));
|
||||
builder.addTitle(AndroidUtilities.replaceTags(LocaleController.formatString("RevokeLinkAlertChannel", R.string.RevokeLinkAlertChannel, MessagesController.getInstance(currentAccount).linkPrefix + "/" + channel.username, channel.title)));
|
||||
}
|
||||
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
|
||||
builder.setPositiveButton(LocaleController.getString("RevokeButton", R.string.RevokeButton), (dialogInterface, i) -> {
|
||||
builder.addItem(LocaleController.getString("RevokeButton", R.string.RevokeButton),R.drawable.baseline_delete_forever_24, (i) -> {
|
||||
TLRPC.TL_channels_updateUsername req1 = new TLRPC.TL_channels_updateUsername();
|
||||
req1.channel = MessagesController.getInputChannel(channel);
|
||||
req1.username = "";
|
||||
|
@ -976,7 +978,9 @@ public class ChannelCreateActivity extends BaseFragment implements NotificationC
|
|||
});
|
||||
}
|
||||
}, ConnectionsManager.RequestFlagInvokeAfter);
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
builder.addCancelItem();
|
||||
showDialog(builder.create());
|
||||
});
|
||||
adminedChannelCell.setChannel(res.chats.get(a), a == res.chats.size() - 1);
|
||||
|
|
|
@ -66,7 +66,7 @@ class BottomBuilder(val ctx: Context) {
|
|||
}
|
||||
|
||||
@JvmOverloads
|
||||
fun addTitle(title: CharSequence, bigTitle: Boolean = true): HeaderCell {
|
||||
fun addTitle(title: CharSequence, bigTitle: Boolean = false): HeaderCell {
|
||||
|
||||
return addTitle(title, bigTitle, null)
|
||||
|
||||
|
@ -80,7 +80,7 @@ class BottomBuilder(val ctx: Context) {
|
|||
|
||||
fun addTitle(title: CharSequence, bigTitle: Boolean, subTitle: CharSequence?): HeaderCell {
|
||||
|
||||
val headerCell = if (bigTitle) HeaderCell(ctx, Theme.key_dialogTextBlue2, 21, 15, subTitle != null) else HeaderCell(ctx)
|
||||
val headerCell = HeaderCell(ctx)
|
||||
|
||||
headerCell.setText(if (title is String) AndroidUtilities.replaceTags(title) else title)
|
||||
|
||||
|
|
|
@ -7,6 +7,7 @@ import org.telegram.messenger.AndroidUtilities
|
|||
import org.telegram.messenger.ApplicationLoader
|
||||
import org.telegram.messenger.LocaleController
|
||||
import org.telegram.messenger.R
|
||||
import org.telegram.tgnet.TLRPC
|
||||
import org.telegram.ui.ActionBar.AlertDialog
|
||||
import org.telegram.ui.Components.EditTextBoldCursor
|
||||
import org.telegram.ui.Components.NumberPicker
|
||||
|
@ -20,6 +21,9 @@ object AlertUtil {
|
|||
@JvmStatic
|
||||
fun showToast(e: Throwable) = showToast(e.message ?: e.javaClass.simpleName)
|
||||
|
||||
@JvmStatic
|
||||
fun showToast(e: TLRPC.TL_error) = showToast("${e.code}: ${e.text}")
|
||||
|
||||
@JvmStatic
|
||||
fun showToast(text: String) = UIUtil.runOnUIThread(Runnable {
|
||||
Toast.makeText(
|
||||
|
|
Loading…
Reference in New Issue