1
0
mirror of https://codeberg.org/tom79/Fedilab synced 2025-02-07 23:58:47 +01:00

Fix #669 - Improve regex

This commit is contained in:
Thomas 2022-12-23 18:08:07 +01:00
parent fbf7577ef7
commit 9dc1b881e3

View File

@ -1118,8 +1118,8 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
} }
//Here we know that the intent contains a valid URL //Here we know that the intent contains a valid URL
if (!url.contains("medium.com")) { if (!url.contains("medium.com")) {
Pattern link = Pattern.compile("https?://([\\da-z.-]+\\.[a-z.]{2,10})/(@[\\w._-]*[0-9]*)(/[0-9]+)?$"); Pattern link = Pattern.compile("https?://([\\da-z.-]+[à-ü]?\\.[a-z.]{2,10})/(@[\\w._-]*[0-9]*)(/[0-9]+)?$");
Matcher matcherLink = null; Matcher matcherLink;
matcherLink = link.matcher(url); matcherLink = link.matcher(url);
if (matcherLink.find()) { if (matcherLink.find()) {
if (currentAccount == null) { if (currentAccount == null) {
@ -1137,10 +1137,14 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
CrossActionHelper.fetchRemoteStatus(BaseMainActivity.this, currentAccount, url, new CrossActionHelper.Callback() { CrossActionHelper.fetchRemoteStatus(BaseMainActivity.this, currentAccount, url, new CrossActionHelper.Callback() {
@Override @Override
public void federatedStatus(Status status) { public void federatedStatus(Status status) {
if (status != null) {
Intent intent = new Intent(BaseMainActivity.this, ContextActivity.class); Intent intent = new Intent(BaseMainActivity.this, ContextActivity.class);
intent.putExtra(Helper.ARG_STATUS, status); intent.putExtra(Helper.ARG_STATUS, status);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
} else {
Toasty.error(BaseMainActivity.this, getString(R.string.toast_error), Toasty.LENGTH_SHORT).show();
}
} }
@Override @Override
@ -1155,12 +1159,16 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt
@Override @Override
public void federatedAccount(app.fedilab.android.client.entities.api.Account account) { public void federatedAccount(app.fedilab.android.client.entities.api.Account account) {
if (account != null) {
Intent intent = new Intent(BaseMainActivity.this, ProfileActivity.class); Intent intent = new Intent(BaseMainActivity.this, ProfileActivity.class);
Bundle b = new Bundle(); Bundle b = new Bundle();
b.putSerializable(Helper.ARG_ACCOUNT, account); b.putSerializable(Helper.ARG_ACCOUNT, account);
intent.putExtras(b); intent.putExtras(b);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent); startActivity(intent);
} else {
Toasty.error(BaseMainActivity.this, getString(R.string.toast_error), Toasty.LENGTH_SHORT).show();
}
} }
}); });
} }