Ask before opening links, with the option to edit the link

This commit is contained in:
M66B
2018-09-13 13:15:08 +00:00
parent 76f75d5a5f
commit 9a6e56cf16
7 changed files with 62 additions and 22 deletions

View File

@@ -637,8 +637,7 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
if (faq.resolveActivity(getPackageManager()) == null)
startActivity(getIntentRate());
else {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder
new AlertDialog.Builder(this)
.setMessage(R.string.title_issue)
.setPositiveButton(R.string.title_yes, new DialogInterface.OnClickListener() {
@Override

View File

@@ -699,8 +699,7 @@ public class FragmentAccount extends FragmentEx {
ibDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder
new AlertDialog.Builder(getContext())
.setMessage(R.string.title_account_delete)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -735,7 +734,8 @@ public class FragmentAccount extends FragmentEx {
}.load(FragmentAccount.this, args);
}
})
.setNegativeButton(android.R.string.cancel, null).show();
.setNegativeButton(android.R.string.cancel, null)
.show();
}
});

View File

@@ -235,8 +235,7 @@ public class FragmentCompose extends FragmentEx {
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int action = item.getItemId();
if (action == R.id.action_delete) {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder
new AlertDialog.Builder(getContext())
.setMessage(R.string.title_ask_delete)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -244,7 +243,8 @@ public class FragmentCompose extends FragmentEx {
onAction(R.id.action_delete);
}
})
.setNegativeButton(android.R.string.cancel, null).show();
.setNegativeButton(android.R.string.cancel, null)
.show();
} else
onAction(action);

View File

@@ -347,8 +347,7 @@ public class FragmentIdentity extends FragmentEx {
ibDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder
new AlertDialog.Builder(getContext())
.setMessage(R.string.title_identity_delete)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -381,7 +380,8 @@ public class FragmentIdentity extends FragmentEx {
}.load(FragmentIdentity.this, args);
}
})
.setNegativeButton(android.R.string.cancel, null).show();
.setNegativeButton(android.R.string.cancel, null)
.show();
}
});

View File

@@ -52,6 +52,7 @@ import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.TextView;
@@ -247,12 +248,26 @@ public class FragmentMessage extends FragmentEx {
.putExtra("uri", uri));
} else {
// https://developer.chrome.com/multidevice/android/customtabs
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setToolbarColor(Helper.resolveColor(getContext(), R.attr.colorPrimary));
View view = LayoutInflater.from(getContext()).inflate(R.layout.dialog_link, null);
final EditText etLink = view.findViewById(R.id.etLink);
etLink.setText(url);
new AlertDialog.Builder(getContext())
.setView(view)
.setPositiveButton(R.string.title_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Uri uri = Uri.parse(etLink.getText().toString());
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(getContext(), Uri.parse(url));
// https://developer.chrome.com/multidevice/android/customtabs
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
builder.setToolbarColor(Helper.resolveColor(getContext(), R.attr.colorPrimary));
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(getContext(), uri);
}
})
.setNegativeButton(R.string.title_no, null)
.show();
}
}
@@ -712,8 +727,7 @@ public class FragmentMessage extends FragmentEx {
}
private void onActionSpam() {
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder
new AlertDialog.Builder(getContext())
.setMessage(R.string.title_ask_spam)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -761,15 +775,15 @@ public class FragmentMessage extends FragmentEx {
}.load(FragmentMessage.this, args);
}
})
.setNegativeButton(android.R.string.cancel, null).show();
.setNegativeButton(android.R.string.cancel, null)
.show();
}
private void onActionDelete() {
boolean delete = (Boolean) bottom_navigation.getTag();
if (delete) {
// No trash or is trash
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder
new AlertDialog.Builder(getContext())
.setMessage(R.string.title_ask_delete)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
@@ -819,7 +833,8 @@ public class FragmentMessage extends FragmentEx {
}.load(FragmentMessage.this, args);
}
})
.setNegativeButton(android.R.string.cancel, null).show();
.setNegativeButton(android.R.string.cancel, null)
.show();
} else {
Helper.setViewsEnabled(view, false);