mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-22 02:58:26 +00:00
Fix trying to launch a dialog from an application context
This commit is contained in:
parent
c58d5c32bb
commit
6f10de5e30
@ -1311,6 +1311,8 @@
|
|||||||
<string name="transport_selection_list_item__transport_icon">Transport icon</string>
|
<string name="transport_selection_list_item__transport_icon">Transport icon</string>
|
||||||
<string name="ConversationListFragment_loading">Loading...</string>
|
<string name="ConversationListFragment_loading">Loading...</string>
|
||||||
<string name="CallNotificationBuilder_connecting">Connecting...</string>
|
<string name="CallNotificationBuilder_connecting">Connecting...</string>
|
||||||
|
<string name="Permissions_permission_required">Permission required</string>
|
||||||
|
<string name="Permissions_continue">Continue</string>
|
||||||
|
|
||||||
|
|
||||||
<!-- EOF -->
|
<!-- EOF -->
|
||||||
|
@ -22,9 +22,11 @@ import android.view.WindowManager;
|
|||||||
import com.annimon.stream.Stream;
|
import com.annimon.stream.Stream;
|
||||||
import com.annimon.stream.function.Consumer;
|
import com.annimon.stream.function.Consumer;
|
||||||
|
|
||||||
|
import org.thoughtcrime.securesms.R;
|
||||||
import org.thoughtcrime.securesms.util.LRUCache;
|
import org.thoughtcrime.securesms.util.LRUCache;
|
||||||
import org.thoughtcrime.securesms.util.ServiceUtil;
|
import org.thoughtcrime.securesms.util.ServiceUtil;
|
||||||
|
|
||||||
|
import java.lang.ref.WeakReference;
|
||||||
import java.security.SecureRandom;
|
import java.security.SecureRandom;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -309,22 +311,26 @@ public class Permissions {
|
|||||||
|
|
||||||
private static class SettingsDialogListener implements Runnable {
|
private static class SettingsDialogListener implements Runnable {
|
||||||
|
|
||||||
private final Context context;
|
private final WeakReference<Context> context;
|
||||||
private final String message;
|
private final String message;
|
||||||
|
|
||||||
SettingsDialogListener(Context context, String message) {
|
SettingsDialogListener(Context context, String message) {
|
||||||
this.message = message;
|
this.message = message;
|
||||||
this.context = context.getApplicationContext();
|
this.context = new WeakReference<>(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
new AlertDialog.Builder(context)
|
Context context = this.context.get();
|
||||||
.setTitle("Permission required")
|
|
||||||
.setMessage(message)
|
if (context != null) {
|
||||||
.setPositiveButton("Continue", (dialog, which) -> context.startActivity(getApplicationSettingsIntent(context)))
|
new AlertDialog.Builder(context)
|
||||||
.setNegativeButton("Cancel", null)
|
.setTitle(R.string.Permissions_permission_required)
|
||||||
.show();
|
.setMessage(message)
|
||||||
|
.setPositiveButton(R.string.Permissions_continue, (dialog, which) -> context.startActivity(getApplicationSettingsIntent(context)))
|
||||||
|
.setNegativeButton(android.R.string.cancel, null)
|
||||||
|
.show();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user