Java源码示例:org.telegram.ui.ActionBar.BaseFragment
示例1
public static void showFloodWaitAlert(String error, final BaseFragment fragment)
{
if (error == null || !error.startsWith("FLOOD_WAIT") || fragment == null || fragment.getParentActivity() == null)
{
return;
}
int time = Utilities.parseInt(error);
String timeString;
if (time < 60)
{
timeString = LocaleController.formatPluralString("Seconds", time);
}
else
{
timeString = LocaleController.formatPluralString("Minutes", time / 60);
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
builder.setMessage(LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString));
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例2
public static void showSendMediaAlert(int result, final BaseFragment fragment)
{
if (result == 0)
{
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
if (result == 1)
{
builder.setMessage(LocaleController.getString("ErrorSendRestrictedStickers", R.string.ErrorSendRestrictedStickers));
}
else if (result == 2)
{
builder.setMessage(LocaleController.getString("ErrorSendRestrictedMedia", R.string.ErrorSendRestrictedMedia));
}
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例3
public static Toast showSimpleToast(BaseFragment baseFragment, final String text)
{
if (text == null)
{
return null;
}
Context context;
if (baseFragment != null && baseFragment.getParentActivity() != null)
{
context = baseFragment.getParentActivity();
}
else
{
context = ApplicationLoader.applicationContext;
}
Toast toast = Toast.makeText(context, text, Toast.LENGTH_LONG);
toast.show();
return toast;
}
示例4
public static void showFloodWaitAlert(String error, final BaseFragment fragment)
{
if (error == null || !error.startsWith("FLOOD_WAIT") || fragment == null || fragment.getParentActivity() == null)
{
return;
}
int time = Utilities.parseInt(error);
String timeString;
if (time < 60)
{
timeString = LocaleController.formatPluralString("Seconds", time);
}
else
{
timeString = LocaleController.formatPluralString("Minutes", time / 60);
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
builder.setMessage(LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString));
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例5
public AboutLinkCell(Context context, BaseFragment fragment) {
super(context);
parentFragment = fragment;
valueTextView = new TextView(context);
valueTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2));
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
valueTextView.setLines(1);
valueTextView.setMaxLines(1);
valueTextView.setSingleLine(true);
valueTextView.setGravity(LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT);
addView(valueTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.BOTTOM, 23, 0, 23, 10));
setWillNotDraw(false);
}
示例6
private static void processAddFilter(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList<Integer> newAlwaysShow, ArrayList<Integer> newNeverShow, boolean creatingNew, boolean atBegin, boolean hasUserChanged, boolean resetUnreadCounter, BaseFragment fragment, Runnable onFinish) {
if (filter.flags != newFilterFlags || hasUserChanged) {
filter.pendingUnreadCount = -1;
if (resetUnreadCounter) {
filter.unreadCount = -1;
}
}
filter.flags = newFilterFlags;
filter.name = newFilterName;
filter.neverShow = newNeverShow;
filter.alwaysShow = newAlwaysShow;
if (creatingNew) {
fragment.getMessagesController().addFilter(filter, atBegin);
} else {
fragment.getMessagesController().onFilterUpdate(filter);
}
fragment.getMessagesStorage().saveDialogFilter(filter, atBegin, true);
if (onFinish != null) {
onFinish.run();
}
}
示例7
private static void processCreate(EditTextBoldCursor editText, AlertDialog alertDialog, BaseFragment fragment) {
if (fragment == null || fragment.getParentActivity() == null) {
return;
}
AndroidUtilities.hideKeyboard(editText);
Theme.ThemeInfo themeInfo = Theme.createNewTheme(editText.getText().toString());
NotificationCenter.getGlobalInstance().postNotificationName(NotificationCenter.themeListUpdated);
ThemeEditorView themeEditorView = new ThemeEditorView();
themeEditorView.show(fragment.getParentActivity(), themeInfo);
alertDialog.dismiss();
SharedPreferences preferences = MessagesController.getGlobalMainSettings();
if (preferences.getBoolean("themehint", false)) {
return;
}
preferences.edit().putBoolean("themehint", true).commit();
try {
Toast.makeText(fragment.getParentActivity(), LocaleController.getString("CreateNewThemeHelp", R.string.CreateNewThemeHelp), Toast.LENGTH_LONG).show();
} catch (Exception e) {
FileLog.e(e);
}
}
示例8
public static void showFloodWaitAlert(String error, final BaseFragment fragment) {
if (error == null || !error.startsWith("FLOOD_WAIT") || fragment == null || fragment.getParentActivity() == null) {
return;
}
int time = Utilities.parseInt(error);
String timeString;
if (time < 60) {
timeString = LocaleController.formatPluralString("Seconds", time);
} else {
timeString = LocaleController.formatPluralString("Minutes", time / 60);
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
builder.setMessage(LocaleController.formatString("FloodWaitTime", R.string.FloodWaitTime, timeString));
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例9
public static void showSendMediaAlert(int result, final BaseFragment fragment) {
if (result == 0) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
if (result == 1) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedStickers", R.string.ErrorSendRestrictedStickers));
} else if (result == 2) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedMedia", R.string.ErrorSendRestrictedMedia));
} else if (result == 3) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedPolls", R.string.ErrorSendRestrictedPolls));
} else if (result == 4) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedStickersAll", R.string.ErrorSendRestrictedStickersAll));
} else if (result == 5) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedMediaAll", R.string.ErrorSendRestrictedMediaAll));
} else if (result == 6) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedPollsAll", R.string.ErrorSendRestrictedPollsAll));
}
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例10
public static boolean isGoogleMapsInstalled(final BaseFragment fragment) {
try {
ApplicationLoader.applicationContext.getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
if (fragment.getParentActivity() == null) {
return false;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setMessage(LocaleController.getString("InstallGoogleMaps", R.string.InstallGoogleMaps));
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) -> {
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.apps.maps"));
fragment.getParentActivity().startActivityForResult(intent, 500);
} catch (Exception e1) {
FileLog.e(e1);
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
fragment.showDialog(builder.create());
return false;
}
}
示例11
public static void showSendMediaAlert(int result, final BaseFragment fragment) {
if (result == 0) {
return;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("AppName", R.string.AppName));
if (result == 1) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedStickers", R.string.ErrorSendRestrictedStickers));
} else if (result == 2) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedMedia", R.string.ErrorSendRestrictedMedia));
} else if (result == 3) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedPolls", R.string.ErrorSendRestrictedPolls));
} else if (result == 4) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedStickersAll", R.string.ErrorSendRestrictedStickersAll));
} else if (result == 5) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedMediaAll", R.string.ErrorSendRestrictedMediaAll));
} else if (result == 6) {
builder.setMessage(LocaleController.getString("ErrorSendRestrictedPollsAll", R.string.ErrorSendRestrictedPollsAll));
}
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), null);
fragment.showDialog(builder.create(), true, null);
}
示例12
public AboutLinkCell(Context context, BaseFragment fragment) {
super(context);
parentFragment = fragment;
valueTextView = new TextView(context);
valueTextView.setTextColor(Theme.getColor(Theme.key_windowBackgroundWhiteGrayText2));
valueTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 13);
valueTextView.setLines(1);
valueTextView.setMaxLines(1);
valueTextView.setSingleLine(true);
valueTextView.setGravity(LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT);
addView(valueTextView, LayoutHelper.createFrame(LayoutHelper.WRAP_CONTENT, LayoutHelper.WRAP_CONTENT, (LocaleController.isRTL ? Gravity.RIGHT : Gravity.LEFT) | Gravity.BOTTOM, 23, 0, 23, 10));
setWillNotDraw(false);
}
示例13
private static void processAddFilter(MessagesController.DialogFilter filter, int newFilterFlags, String newFilterName, ArrayList<Integer> newAlwaysShow, ArrayList<Integer> newNeverShow, boolean creatingNew, boolean atBegin, boolean hasUserChanged, boolean resetUnreadCounter, BaseFragment fragment, Runnable onFinish) {
if (filter.flags != newFilterFlags || hasUserChanged) {
filter.pendingUnreadCount = -1;
if (resetUnreadCounter) {
filter.unreadCount = -1;
}
}
filter.flags = newFilterFlags;
filter.name = newFilterName;
filter.neverShow = newNeverShow;
filter.alwaysShow = newAlwaysShow;
if (creatingNew) {
fragment.getMessagesController().addFilter(filter, atBegin);
} else {
fragment.getMessagesController().onFilterUpdate(filter);
}
fragment.getMessagesStorage().saveDialogFilter(filter, atBegin, true);
if (onFinish != null) {
onFinish.run();
}
}
示例14
public static boolean isGoogleMapsInstalled(final BaseFragment fragment)
{
try
{
ApplicationLoader.applicationContext.getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0);
return true;
}
catch (PackageManager.NameNotFoundException e)
{
if (fragment.getParentActivity() == null)
{
return false;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setMessage("Install Google Maps?");
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) ->
{
try
{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.apps.maps"));
fragment.getParentActivity().startActivityForResult(intent, 500);
}
catch (Exception e1)
{
FileLog.e(e1);
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
fragment.showDialog(builder.create());
return false;
}
}
示例15
public void needLayout() {
if (AndroidUtilities.isTablet()) {
RelativeLayout.LayoutParams relativeLayoutParams = (RelativeLayout.LayoutParams) layersActionBarLayout.getLayoutParams();
relativeLayoutParams.leftMargin = (AndroidUtilities.displaySize.x - relativeLayoutParams.width) / 2;
int y = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0);
relativeLayoutParams.topMargin = y + (AndroidUtilities.displaySize.y - relativeLayoutParams.height - y) / 2;
layersActionBarLayout.setLayoutParams(relativeLayoutParams);
if (!AndroidUtilities.isSmallTablet() || getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
int leftWidth = AndroidUtilities.displaySize.x / 100 * 35;
if (leftWidth < AndroidUtilities.dp(320)) {
leftWidth = AndroidUtilities.dp(320);
}
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = leftWidth;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
if (AndroidUtilities.isSmallTablet() && actionBarLayout.fragmentsStack.size() == 2) {
BaseFragment chatFragment = actionBarLayout.fragmentsStack.get(1);
chatFragment.onPause();
actionBarLayout.fragmentsStack.remove(1);
actionBarLayout.showLastFragment();
}
} else {
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = LayoutHelper.MATCH_PARENT;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
}
}
}
示例16
public StickersAlert(Context context, BaseFragment baseFragment, TLRPC.InputStickerSet set, TLRPC.TL_messages_stickerSet loadedSet, StickersAlertDelegate stickersAlertDelegate) {
super(context, false);
delegate = stickersAlertDelegate;
inputStickerSet = set;
stickerSet = loadedSet;
parentFragment = baseFragment;
loadStickerSet();
init(context);
}
示例17
public static Dialog showSimpleAlert(BaseFragment baseFragment, final String text)
{
if (text == null || baseFragment == null || baseFragment.getParentActivity() == null)
{
return null;
}
AlertDialog.Builder builder = createSimpleAlert(baseFragment.getParentActivity(), text);
Dialog dialog = builder.create();
baseFragment.showDialog(dialog);
return dialog;
}
示例18
public static Dialog createVibrationSelectDialog(Activity parentActivity, final BaseFragment parentFragment, final long dialog_id, final boolean globalGroup, final boolean globalAll, final Runnable onSelect)
{
String prefix;
if (dialog_id != 0)
{
prefix = "vibrate_";
}
else
{
prefix = globalGroup ? "vibrate_group" : "vibrate_messages";
}
return createVibrationSelectDialog(parentActivity, parentFragment, dialog_id, prefix, onSelect);
}
示例19
public static Dialog showSimpleAlert(BaseFragment baseFragment, final String title, final String text) {
if (text == null || baseFragment == null || baseFragment.getParentActivity() == null) {
return null;
}
AlertDialog.Builder builder = createSimpleAlert(baseFragment.getParentActivity(), title, text);
Dialog dialog = builder.create();
baseFragment.showDialog(dialog);
return dialog;
}
示例20
public static boolean isGoogleMapsInstalled(final BaseFragment fragment)
{
try
{
ApplicationLoader.applicationContext.getPackageManager().getApplicationInfo("com.google.android.apps.maps", 0);
return true;
}
catch (PackageManager.NameNotFoundException e)
{
if (fragment.getParentActivity() == null)
{
return false;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setMessage("Install Google Maps?");
builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), (dialogInterface, i) ->
{
try
{
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.google.android.apps.maps"));
fragment.getParentActivity().startActivityForResult(intent, 500);
}
catch (Exception e1)
{
FileLog.e(e1);
}
});
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
fragment.showDialog(builder.create());
return false;
}
}
示例21
public void needLayout() {
if (AndroidUtilities.isTablet()) {
RelativeLayout.LayoutParams relativeLayoutParams = (RelativeLayout.LayoutParams) layersActionBarLayout.getLayoutParams();
relativeLayoutParams.leftMargin = (AndroidUtilities.displaySize.x - relativeLayoutParams.width) / 2;
int y = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0);
relativeLayoutParams.topMargin = y + (AndroidUtilities.displaySize.y - relativeLayoutParams.height - y) / 2;
layersActionBarLayout.setLayoutParams(relativeLayoutParams);
if (!AndroidUtilities.isSmallTablet() || getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
int leftWidth = AndroidUtilities.displaySize.x / 100 * 35;
if (leftWidth < AndroidUtilities.dp(320)) {
leftWidth = AndroidUtilities.dp(320);
}
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = leftWidth;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
if (AndroidUtilities.isSmallTablet() && actionBarLayout.fragmentsStack.size() == 2) {
BaseFragment chatFragment = actionBarLayout.fragmentsStack.get(1);
chatFragment.onPause();
actionBarLayout.fragmentsStack.remove(1);
actionBarLayout.showLastFragment();
}
} else {
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = LayoutHelper.MATCH_PARENT;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
}
}
}
示例22
public static void showOpenUrlAlert(BaseFragment fragment, String url, boolean punycode, boolean tryTelegraph, boolean ask) {
if (fragment == null || fragment.getParentActivity() == null) {
return;
}
long inlineReturn = (fragment instanceof ChatActivity) ? ((ChatActivity) fragment).getInlineReturn() : 0;
if (Browser.isInternalUrl(url, null) || !ask) {
Browser.openUrl(fragment.getParentActivity(), url, inlineReturn == 0, tryTelegraph);
} else {
String urlFinal;
if (punycode) {
try {
Uri uri = Uri.parse(url);
String host = IDN.toASCII(uri.getHost(), IDN.ALLOW_UNASSIGNED);
urlFinal = uri.getScheme() + "://" + host + uri.getPath();
} catch (Exception e) {
FileLog.e(e);
urlFinal = url;
}
} else {
urlFinal = url;
}
AlertDialog.Builder builder = new AlertDialog.Builder(fragment.getParentActivity());
builder.setTitle(LocaleController.getString("OpenUrlTitle", R.string.OpenUrlTitle));
String format = LocaleController.getString("OpenUrlAlert2", R.string.OpenUrlAlert2);
int index = format.indexOf("%");
SpannableStringBuilder stringBuilder = new SpannableStringBuilder(String.format(format, urlFinal));
if (index >= 0) {
stringBuilder.setSpan(new URLSpan(urlFinal), index, index + urlFinal.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
builder.setMessage(stringBuilder);
builder.setMessageTextViewClickable(false);
builder.setPositiveButton(LocaleController.getString("Open", R.string.Open), (dialogInterface, i) -> Browser.openUrl(fragment.getParentActivity(), url, inlineReturn == 0, tryTelegraph));
builder.setNegativeButton(LocaleController.getString("Cancel", R.string.Cancel), null);
fragment.showDialog(builder.create());
}
}
示例23
public StickersAlert(Context context, BaseFragment baseFragment, TLRPC.InputStickerSet set, TLRPC.TL_messages_stickerSet loadedSet, StickersAlertDelegate stickersAlertDelegate) {
super(context, false);
delegate = stickersAlertDelegate;
inputStickerSet = set;
stickerSet = loadedSet;
parentFragment = baseFragment;
loadStickerSet();
init(context);
}
示例24
public static Dialog showSimpleAlert(BaseFragment baseFragment, final String text)
{
if (text == null || baseFragment == null || baseFragment.getParentActivity() == null)
{
return null;
}
AlertDialog.Builder builder = createSimpleAlert(baseFragment.getParentActivity(), text);
Dialog dialog = builder.create();
baseFragment.showDialog(dialog);
return dialog;
}
示例25
public static Dialog createVibrationSelectDialog(Activity parentActivity, final BaseFragment parentFragment, final long dialog_id, final boolean globalGroup, final boolean globalAll, final Runnable onSelect)
{
String prefix;
if (dialog_id != 0)
{
prefix = "vibrate_";
}
else
{
prefix = globalGroup ? "vibrate_group" : "vibrate_messages";
}
return createVibrationSelectDialog(parentActivity, parentFragment, dialog_id, prefix, onSelect);
}
示例26
public static Dialog createSingleChoiceDialog(Activity parentActivity, final BaseFragment parentFragment, final String[] options, final String title, final int selected, final DialogInterface.OnClickListener listener)
{
final LinearLayout linearLayout = new LinearLayout(parentActivity);
linearLayout.setOrientation(LinearLayout.VERTICAL);
AlertDialog.Builder builder = new AlertDialog.Builder(parentActivity);
for (int a = 0; a < options.length; a++)
{
RadioColorCell cell = new RadioColorCell(parentActivity);
cell.setPadding(AndroidUtilities.dp(4), 0, AndroidUtilities.dp(4), 0);
cell.setTag(a);
cell.setCheckColor(Theme.getColor(Theme.key_radioBackground), Theme.getColor(Theme.key_dialogRadioBackgroundChecked));
cell.setTextAndValue(options[a], selected == a);
linearLayout.addView(cell);
cell.setOnClickListener(v ->
{
int sel = (Integer) v.getTag();
if (parentFragment != null)
{
parentFragment.dismissCurrentDialig();
}
listener.onClick(null, sel);
});
}
builder.setTitle(title);
builder.setView(linearLayout);
builder.setPositiveButton(LocaleController.getString("Cancel", R.string.Cancel), null);
return builder.create();
}
示例27
public void needLayout() {
if (AndroidUtilities.isTablet()) {
RelativeLayout.LayoutParams relativeLayoutParams = (RelativeLayout.LayoutParams) layersActionBarLayout.getLayoutParams();
relativeLayoutParams.leftMargin = (AndroidUtilities.displaySize.x - relativeLayoutParams.width) / 2;
int y = (Build.VERSION.SDK_INT >= 21 ? AndroidUtilities.statusBarHeight : 0);
relativeLayoutParams.topMargin = y + (AndroidUtilities.displaySize.y - relativeLayoutParams.height - y) / 2;
layersActionBarLayout.setLayoutParams(relativeLayoutParams);
if (!AndroidUtilities.isSmallTablet() || getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
int leftWidth = AndroidUtilities.displaySize.x / 100 * 35;
if (leftWidth < AndroidUtilities.dp(320)) {
leftWidth = AndroidUtilities.dp(320);
}
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = leftWidth;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
if (AndroidUtilities.isSmallTablet() && actionBarLayout.fragmentsStack.size() == 2) {
BaseFragment chatFragment = actionBarLayout.fragmentsStack.get(1);
chatFragment.onPause();
actionBarLayout.fragmentsStack.remove(1);
actionBarLayout.showLastFragment();
}
} else {
relativeLayoutParams = (RelativeLayout.LayoutParams) actionBarLayout.getLayoutParams();
relativeLayoutParams.width = LayoutHelper.MATCH_PARENT;
relativeLayoutParams.height = LayoutHelper.MATCH_PARENT;
actionBarLayout.setLayoutParams(relativeLayoutParams);
}
}
}
示例28
public static ArrayList<MessagesController.DialogFilter> getCanAddDialogFilters(BaseFragment fragment, ArrayList<Long> selectedDialogs) {
ArrayList<MessagesController.DialogFilter> result = new ArrayList<>();
ArrayList<MessagesController.DialogFilter> filters = fragment.getMessagesController().dialogFilters;
for (int a = 0, N = filters.size(); a < N; a++) {
MessagesController.DialogFilter filter = filters.get(a);
if (!getDialogsCount(fragment, filter, selectedDialogs, true, true).isEmpty()) {
result.add(filter);
}
}
return result;
}
示例29
public static ArrayList<Integer> getDialogsCount(BaseFragment fragment, MessagesController.DialogFilter filter, ArrayList<Long> selectedDialogs, boolean always, boolean check) {
ArrayList<Integer> dids = new ArrayList<>();
for (int b = 0, N2 = selectedDialogs.size(); b < N2; b++) {
long did = selectedDialogs.get(b);
int lowerId = (int) did;
if (lowerId == 0) {
int highId = (int) (did >> 32);
TLRPC.EncryptedChat encryptedChat = fragment.getMessagesController().getEncryptedChat(highId);
if (encryptedChat != null) {
lowerId = encryptedChat.user_id;
if (dids.contains(lowerId)) {
continue;
}
} else {
continue;
}
}
if (filter != null && (always && filter.alwaysShow.contains(lowerId) || !always && filter.neverShow.contains(lowerId))) {
continue;
}
dids.add(lowerId);
if (check) {
break;
}
}
return dids;
}
示例30
public StickersAlert(Context context, BaseFragment baseFragment, TLRPC.InputStickerSet set, TLRPC.TL_messages_stickerSet loadedSet, StickersAlertDelegate stickersAlertDelegate) {
super(context, false);
delegate = stickersAlertDelegate;
inputStickerSet = set;
stickerSet = loadedSet;
parentFragment = baseFragment;
loadStickerSet();
init(context);
}