fixed dialog crash

This commit is contained in:
nuclearfog 2023-06-24 17:27:17 +02:00
parent 703e668740
commit 07f827bcb4
No known key found for this signature in database
GPG Key ID: 03488A185C476379
25 changed files with 59 additions and 61 deletions

View File

@ -88,7 +88,7 @@ public class MessageEditor extends MediaActivity implements OnClickListener, OnC
messageUpdater = new MessageUpdater(this);
instanceLoader = new InstanceLoader(this);
loadingCircle = new ProgressDialog(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
String prefix = getIntent().getStringExtra(KEY_MESSAGE_PREFIX);
if (prefix != null) {

View File

@ -190,7 +190,7 @@ public class ProfileActivity extends AppCompatActivity implements ActivityResult
domainAction = new DomainAction(this);
userLoader = new UserLoader(this);
emojiLoader = new TextEmojiLoader(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
picasso = PicassoBuilder.get(this);
settings = GlobalSettings.get(this);

View File

@ -103,7 +103,7 @@ public class ProfileEditor extends MediaActivity implements OnClickListener, Asy
userDescription = findViewById(R.id.profile_edit_change_description);
loadingCircle = new ProgressDialog(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
editorAsync = new UserUpdater(this);
settings = GlobalSettings.get(this);
picasso = PicassoBuilder.get(this);

View File

@ -177,7 +177,7 @@ public class SettingsActivity extends AppCompatActivity implements OnClickListen
settings = GlobalSettings.get(this);
configuration = settings.getLogin().getConfiguration();
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
appInfo = new InfoDialog(this);
license = new LicenseDialog(this);
pushDialog = new WebPushDialog(this);

View File

@ -233,7 +233,7 @@ public class StatusActivity extends AppCompatActivity implements OnClickListener
notificationLoader = new NotificationAction(this);
translationLoader = new TranslationLoader(this);
emojiLoader = new TextEmojiLoader(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
metricsDialog = new MetricsDialog(this);
audioDialog = new AudioPlayerDialog(this);
picasso = PicassoBuilder.get(this);

View File

@ -136,7 +136,7 @@ public class StatusEditor extends MediaActivity implements OnClickListener, OnPr
statusUpdater = new StatusUpdater(this);
settings = GlobalSettings.get(this);
loadingCircle = new ProgressDialog(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
preferenceDialog = new StatusPreferenceDialog(this, statusUpdate);
pollDialog = new PollDialog(this, this);
audioDialog = new AudioPlayerDialog(this);

View File

@ -115,7 +115,7 @@ public class UserlistActivity extends AppCompatActivity implements ActivityResul
viewPager = findViewById(R.id.listdetail_pager);
settings = GlobalSettings.get(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
listLoaderAsync = new UserlistAction(this);
listManagerAsync = new UserlistManager(this);
adapter = new FragmentAdapter(this);

View File

@ -91,7 +91,7 @@ public class UserlistEditor extends AppCompatActivity implements OnClickListener
descriptionText = findViewById(R.id.list_edit_descr);
loadingCircle = new ProgressDialog(this);
confirmDialog = new ConfirmDialog(getApplicationContext(), this);
confirmDialog = new ConfirmDialog(this, this);
listUpdater = new UserlistUpdater(this);
GlobalSettings settings = GlobalSettings.get(this);

View File

@ -1,5 +1,6 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.net.Uri;
@ -53,15 +54,15 @@ public class AudioPlayerDialog extends Dialog implements OnClickListener, Closea
/**
* @inheritDoc
*/
public AudioPlayerDialog(@NonNull Context context) {
super(context, R.style.AudioDialog);
public AudioPlayerDialog(Activity activity) {
super(activity, R.style.AudioDialog);
setContentView(R.layout.dialog_audio_player);
controls = findViewById(R.id.dialog_audio_player_controls);
mediaLink = findViewById(R.id.dialog_audio_player_share);
controls.setShowNextButton(false);
controls.setShowPreviousButton(false);
player = new ExoPlayer.Builder(context, createRenderer(context)).build();
player = new ExoPlayer.Builder(activity.getApplicationContext(), createRenderer(activity.getApplicationContext())).build();
controls.setPlayer(player);
controls.setShowTimeoutMs(-1);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@ -142,8 +142,8 @@ public class ConfirmDialog extends Dialog implements OnClickListener {
/**
*
*/
public ConfirmDialog(Context context, OnConfirmListener listener) {
super(context, R.style.ConfirmDialog);
public ConfirmDialog(Activity activity, OnConfirmListener listener) {
super(activity, R.style.ConfirmDialog);
this.listener = listener;
setContentView(R.layout.dialog_confirm);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.util.Patterns;
import android.view.View;
import android.view.View.OnClickListener;
@ -35,8 +35,8 @@ public class ConnectionDialog extends Dialog implements OnCheckedChangeListener,
private ConnectionConfig connection;
public ConnectionDialog(Context context) {
super(context, R.style.ConfirmDialog);
public ConnectionDialog(Activity activity) {
super(activity, R.style.ConfirmDialog);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setCanceledOnTouchOutside(false);
setContentView(R.layout.dialog_connection);
@ -53,7 +53,7 @@ public class ConnectionDialog extends Dialog implements OnCheckedChangeListener,
api1 = findViewById(R.id.dialog_connection_api1);
api2 = findViewById(R.id.dialog_connection_api2);
int width = (int) (context.getResources().getDisplayMetrics().widthPixels * 0.9f);
int width = (int) (activity.getResources().getDisplayMetrics().widthPixels * 0.9f);
getWindow().setLayout(width, ViewGroup.LayoutParams.WRAP_CONTENT);
AppStyles.setTheme(root);
enableApi.setOnCheckedChangeListener(this);

View File

@ -40,9 +40,9 @@ public class EmojiPicker extends BottomSheetDialog implements AsyncCallback<List
* @param listener emoji add listener
*/
@SuppressWarnings("ConstantConditions")
public EmojiPicker(@NonNull Activity activity, OnEmojiSelectListener listener) {
public EmojiPicker(Activity activity, OnEmojiSelectListener listener) {
super(activity, R.style.EmojiPickerDialog);
GlobalSettings settings = GlobalSettings.get(getContext());
GlobalSettings settings = GlobalSettings.get(activity);
adapter = new EmojiAdapter(this);
this.listener = listener;
@ -59,10 +59,10 @@ public class EmojiPicker extends BottomSheetDialog implements AsyncCallback<List
BottomSheetBehavior<View> mBehavior = BottomSheetBehavior.from((View) root.getParent());
mBehavior.setPeekHeight(height);
listView.setLayoutManager(new LinearLayoutManager(getContext(), LinearLayoutManager.VERTICAL, false));
listView.setLayoutManager(new LinearLayoutManager(activity.getApplicationContext(), LinearLayoutManager.VERTICAL, false));
listView.setAdapter(adapter);
EmojiLoader emojiLoader = new EmojiLoader(getContext());
EmojiLoader emojiLoader = new EmojiLoader(activity.getApplicationContext());
emojiLoader.execute(null, this);
}

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.widget.TextView;
import org.nuclearfog.twidda.BuildConfig;
@ -17,8 +17,8 @@ public class InfoDialog extends Dialog {
/**
*
*/
public InfoDialog(Context context) {
super(context, R.style.AppInfoDialog);
public InfoDialog(Activity activity) {
super(activity, R.style.AppInfoDialog);
setContentView(R.layout.dialog_app_info);
TextView appInfo = findViewById(R.id.settings_app_info);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.webkit.WebView;
import org.nuclearfog.twidda.R;
@ -14,9 +14,9 @@ import org.nuclearfog.twidda.R;
public class LicenseDialog extends Dialog {
public LicenseDialog(Context context) {
super(context, R.style.LicenseDialog);
WebView htmlViewer = new WebView(context);
public LicenseDialog(Activity activity) {
super(activity, R.style.LicenseDialog);
WebView htmlViewer = new WebView(activity.getApplicationContext());
setContentView(htmlViewer);
htmlViewer.loadUrl("file:///android_asset/licenses.html");

View File

@ -1,13 +1,11 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import org.nuclearfog.twidda.R;
import org.nuclearfog.twidda.backend.utils.AppStyles;
import org.nuclearfog.twidda.backend.utils.StringUtils;
@ -24,8 +22,8 @@ public class MetricsDialog extends Dialog {
private View linkIcon, quoteIcon, videoIcon;
public MetricsDialog(@NonNull Context context) {
super(context, R.style.MetricsDialog);
public MetricsDialog(Activity activity) {
super(activity, R.style.MetricsDialog);
setContentView(R.layout.dialog_metrics);
ViewGroup root = findViewById(R.id.dialog_metrics_root);
views = findViewById(R.id.dialog_metrics_views);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@ -10,7 +10,6 @@ import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
@ -45,8 +44,8 @@ public class PollDialog extends Dialog implements OnClickListener {
/**
*
*/
public PollDialog(@NonNull Context context, PollUpdateCallback callback) {
super(context, R.style.PollDialog);
public PollDialog(Activity activity, PollUpdateCallback callback) {
super(activity, R.style.PollDialog);
this.callback = callback;
setContentView(R.layout.dialog_poll);
ViewGroup root = findViewById(R.id.dialog_poll_root);
@ -58,7 +57,7 @@ public class PollDialog extends Dialog implements OnClickListener {
multiple_choice = findViewById(R.id.dialog_poll_mul_choice);
hide_votes = findViewById(R.id.dialog_poll_hide_total);
DropdownAdapter adapter = new DropdownAdapter(context);
DropdownAdapter adapter = new DropdownAdapter(activity.getApplicationContext());
adapter.setItems(R.array.timeunits);
timeUnitSelector.setAdapter(adapter);
timeUnitSelector.setSelection(2);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
@ -29,8 +29,8 @@ public class ProgressDialog extends Dialog implements OnClickListener {
/**
*
*/
public ProgressDialog(Context context) {
super(context, R.style.LoadingDialog);
public ProgressDialog(Activity activity) {
super(activity, R.style.LoadingDialog);
// setup dialog
requestWindowFeature(Window.FEATURE_NO_TITLE);
setCanceledOnTouchOutside(false);
@ -40,7 +40,7 @@ public class ProgressDialog extends Dialog implements OnClickListener {
cancel = findViewById(R.id.kill_button);
ProgressBar circle = findViewById(R.id.progress_item);
GlobalSettings settings = GlobalSettings.get(context);
GlobalSettings settings = GlobalSettings.get(activity);
AppStyles.setProgressColor(circle, settings.getHighlightColor());
AppStyles.setDrawableColor(cancel, settings.getIconColor());

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
@ -39,8 +39,8 @@ public class StatusPreferenceDialog extends Dialog implements OnCheckedChangeLis
/**
* @param statusUpdate status information from status editor
*/
public StatusPreferenceDialog(Context context, StatusUpdate statusUpdate) {
super(context, R.style.StatusDialog);
public StatusPreferenceDialog(Activity activity, StatusUpdate statusUpdate) {
super(activity, R.style.StatusDialog);
this.statusUpdate = statusUpdate;
setContentView(R.layout.dialog_status);
ViewGroup rootView = findViewById(R.id.dialog_status_root);
@ -50,11 +50,11 @@ public class StatusPreferenceDialog extends Dialog implements OnCheckedChangeLis
View statusSpoiler = findViewById(R.id.dialog_status_spoiler_container);
Spinner languageSelector = findViewById(R.id.dialog_status_language);
visibilitySelector = findViewById(R.id.dialog_status_visibility);
GlobalSettings settings = GlobalSettings.get(context);
GlobalSettings settings = GlobalSettings.get(activity.getApplicationContext());
AppStyles.setTheme(rootView);
DropdownAdapter visibility_adapter = new DropdownAdapter(context);
DropdownAdapter language_adapter = new DropdownAdapter(context);
DropdownAdapter visibility_adapter = new DropdownAdapter(activity.getApplicationContext());
DropdownAdapter language_adapter = new DropdownAdapter(activity.getApplicationContext());
languageSelector.setAdapter(language_adapter);
languageSelector.setSelected(false);
visibilitySelector.setAdapter(visibility_adapter);

View File

@ -1,7 +1,7 @@
package org.nuclearfog.twidda.ui.dialogs;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
@ -46,8 +46,8 @@ public class WebPushDialog extends Dialog implements OnCheckedChangeListener, On
/**
*
*/
public WebPushDialog(@NonNull Context context) {
super(context, R.style.WebPushDialog);
public WebPushDialog(Activity activity) {
super(activity, R.style.WebPushDialog);
setContentView(R.layout.dialog_push);
ViewGroup root = findViewById(R.id.dialog_push_root);
Button apply_changes = findViewById(R.id.dialog_push_apply);
@ -60,10 +60,10 @@ public class WebPushDialog extends Dialog implements OnCheckedChangeListener, On
status_new = findViewById(R.id.dialog_push_new_status);
status_edit = findViewById(R.id.dialog_push_edit_status);
policySelector = findViewById(R.id.dialog_push_policy);
settings = GlobalSettings.get(context);
updater = new PushUpdater(getContext());
settings = GlobalSettings.get(activity.getApplicationContext());
updater = new PushUpdater(activity.getApplicationContext());
DropdownAdapter adapter = new DropdownAdapter(context);
DropdownAdapter adapter = new DropdownAdapter(activity.getApplicationContext());
adapter.setItems(R.array.push_policy);
policySelector.setAdapter(adapter);

View File

@ -54,7 +54,7 @@ public class AccountFragment extends ListFragment implements OnAccountClickListe
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
dialog = new ConfirmDialog(requireContext(), this);
dialog = new ConfirmDialog(requireActivity(), this);
settings = GlobalSettings.get(requireContext());
accountLoader = new AccountLoader(requireContext());
databaseAction = new DatabaseAction(requireContext());

View File

@ -40,7 +40,7 @@ public class DomainFragment extends ListFragment implements OnDomainClickListene
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
domainAction = new DomainAction(requireContext());
dialog = new ConfirmDialog(requireContext(), this);
dialog = new ConfirmDialog(requireActivity(), this);
adapter = new DomainAdapter(this);
setAdapter(adapter);

View File

@ -43,7 +43,7 @@ public class FilterFragment extends ListFragment implements OnFilterClickListene
super.onViewCreated(view, savedInstanceState);
filterLoader = new StatusFilterLoader(requireContext());
filterAction = new StatusFilterAction(requireContext());
confirmDialog = new ConfirmDialog(requireContext(), this);
confirmDialog = new ConfirmDialog(requireActivity(), this);
adapter = new FilterAdapter(this);
setAdapter(adapter);

View File

@ -53,7 +53,7 @@ public class MessageFragment extends ListFragment implements OnMessageClickListe
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
confirmDialog = new ConfirmDialog(requireContext(), this);
confirmDialog = new ConfirmDialog(requireActivity(), this);
adapter = new MessageAdapter(requireContext(), this);
messageLoader = new MessageLoader(requireContext());
setAdapter(adapter);

View File

@ -61,7 +61,7 @@ public class NotificationFragment extends ListFragment implements OnNotification
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
confirmDialog = new ConfirmDialog(requireContext(), this);
confirmDialog = new ConfirmDialog(requireActivity(), this);
notificationLoader = new NotificationLoader(requireContext());
notificationAction = new NotificationAction(requireContext());
adapter = new NotificationAdapter(requireContext(), this);

View File

@ -167,7 +167,7 @@ public class UserFragment extends ListFragment implements UserClickListener, OnC
super.onViewCreated(view, savedInstanceState);
userLoader = new UsersLoader(requireContext());
userlistManager = new UserlistManager(requireContext());
confirmDialog = new ConfirmDialog(requireContext(), this);
confirmDialog = new ConfirmDialog(requireActivity(), this);
adapter = new UserAdapter(requireContext(), this);
setAdapter(adapter);