Skip to content
This repository was archived by the owner on Jul 24, 2023. It is now read-only.

Commit 95bd38b

Browse files
committed
Code refactoring
1 parent 1d625e7 commit 95bd38b

19 files changed

+102
-69
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ repositories {
2424

2525
dependencies {
2626
implementation fileTree(dir: 'libs', include: ['*.jar'])
27-
implementation 'net.java.dev.jna:jna:5.8.0@aar'
27+
2828
implementation 'androidx.appcompat:appcompat:1.4.0-alpha03'
2929
implementation 'androidx.preference:preference:1.1.1'
3030
}

app/libs/jna-5.9.0.jar

192 KB
Binary file not shown.

app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,14 @@
6565
<data android:scheme="https" />
6666
</intent-filter>
6767
</activity>
68+
<activity
69+
android:name=".SettingsActivity"
70+
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
71+
<intent-filter>
72+
<action android:name="android.intent.action.MAIN" />
73+
<category android:name="android.intent.category.LAUNCHER" />
74+
</intent-filter>
75+
</activity>
6876
<service
6977
android:name=".UnalixService"
7078
android:label="Unalix service"

app/src/main/java/com/amanoteam/unalix/ClearURLActivity.java

Lines changed: 10 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -21,65 +21,24 @@ public class ClearURLActivity extends Activity {
2121
@Override
2222
protected void onCreate(Bundle savedInstanceState) {
2323
super.onCreate(savedInstanceState);
24-
24+
2525
final Intent intent = getIntent();
2626
final String action = intent.getAction();
27-
final Intent sendIntent = new Intent();
2827

29-
String actionName = "";
28+
String uglyUrl = "";
3029

3130
if (action.equals(Intent.ACTION_SEND)) {
32-
final String uglyUrl = intent.getStringExtra(Intent.EXTRA_TEXT);
33-
final String cleanedUrl = unalix.clearUrl(uglyUrl);
34-
35-
actionName = "Share with";
36-
37-
sendIntent.setAction(Intent.ACTION_SEND);
38-
sendIntent.putExtra(Intent.EXTRA_TEXT, cleanedUrl);
39-
sendIntent.setType("text/plain");
31+
uglyUrl = intent.getStringExtra(Intent.EXTRA_TEXT);
4032
} else if (action.equals(Intent.ACTION_VIEW)) {
41-
final Uri uglyUrl = intent.getData();
42-
final String cleanedUrl = unalix.clearUrl(uglyUrl.toString());
43-
44-
actionName = "Open with";
45-
46-
sendIntent.setAction(Intent.ACTION_VIEW);
47-
sendIntent.setData(Uri.parse(cleanedUrl));
33+
uglyUrl = intent.getData().toString();
4834
}
4935

50-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
51-
final ArrayList<ComponentName> excludeTargets = new ArrayList<>();
52-
53-
excludeTargets.add(new ComponentName("com.amanoteam.unalix", "com.amanoteam.unalix.ClearURLActivity"));
54-
excludeTargets.add(new ComponentName("com.amanoteam.unalix", "com.amanoteam.unalix.UnshortURLActivity"));
55-
56-
final Intent chooserIntent = Intent.createChooser(sendIntent, actionName);
57-
chooserIntent.putExtra(Intent.EXTRA_EXCLUDE_COMPONENTS, excludeTargets.toArray(new ComponentName[0]));
58-
59-
startActivity(chooserIntent);
60-
} else {
61-
final List<Intent> intentsList = new ArrayList<>();
62-
final List<ResolveInfo> resolveInfoList = getPackageManager().queryIntentActivities(sendIntent, 0);
63-
64-
for (ResolveInfo resolveInfoItem : resolveInfoList) {
65-
Intent targetIntent = (Intent) sendIntent.clone();
66-
67-
String packageName = resolveInfoItem.activityInfo.packageName;
68-
String activityName = resolveInfoItem.activityInfo.name;
69-
70-
if (activityName.equals("com.amanoteam.unalix.ClearURLActivity") || activityName.equals("com.amanoteam.unalix.UnshortURLActivity")) {
71-
continue;
72-
}
73-
74-
targetIntent.setComponent(new ComponentName(packageName, activityName));
75-
intentsList.add(targetIntent);
76-
}
77-
78-
final Intent chooserIntent = Intent.createChooser(intentsList.remove(0), actionName);
79-
chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, intentsList.toArray(new Parcelable[intentsList.size()]));
80-
81-
startActivity(chooserIntent);
82-
}
36+
final Intent serviceIntent = new Intent(this, UnalixService.class);
37+
serviceIntent.putExtra("originalAction", action);
38+
serviceIntent.putExtra("uglyUrl", uglyUrl);
39+
serviceIntent.putExtra("whatToDo", "clearUrl");
40+
41+
startService(serviceIntent);
8342

8443
finish();
8544
}

app/src/main/java/com/amanoteam/unalix/SettingsActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ protected void onCreate(Bundle savedInstanceState) {
1414
setContentView(R.layout.activity_settings);
1515
getSupportFragmentManager().beginTransaction().replace(R.id.fl_settings, new SettingsFragment()).commit();
1616
}
17-
17+
1818
}

app/src/main/java/com/amanoteam/unalix/UnalixService.java

Lines changed: 49 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import android.app.Service;
44
import android.content.ComponentName;
55
import android.content.Intent;
6+
import android.content.SharedPreferences;
7+
import androidx.preference.PreferenceManager;
68
import android.content.pm.ResolveInfo;
79
import android.net.Uri;
810
import android.os.Build;
@@ -36,26 +38,69 @@ public ServiceHandler(Looper looper) {
3638
@Override
3739
public void handleMessage(Message msg) {
3840

41+
String cleanedUrl = "";
42+
3943
final Intent intent = (Intent) msg.obj;
4044
final String action = intent.getStringExtra("originalAction");
4145
final String uglyUrl = intent.getStringExtra("uglyUrl");
46+
final String whatToDo = intent.getStringExtra("whatToDo");
4247
final Intent sendIntent = new Intent();
4348

49+
final SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
50+
51+
final boolean ignoreReferralMarketing = settings.getBoolean("ignoreReferralMarketing", false);
52+
final boolean ignoreRules = settings.getBoolean("ignoreRules", false);
53+
final boolean ignoreExceptions = settings.getBoolean("ignoreExceptions", false);
54+
final boolean ignoreRawRules = settings.getBoolean("ignoreRawRules", false);
55+
final boolean ignoreRedirections = settings.getBoolean("ignoreRedirections", false);
56+
final boolean skipBlocked = settings.getBoolean("skipBlocked", false);
57+
final boolean stripDuplicates = settings.getBoolean("stripDuplicates", false);
58+
final boolean stripEmpty = settings.getBoolean("stripEmpty", false);
59+
4460
final Unalix unalix = new Unalix();
4561

62+
unalix.setIgnoreReferralMarketing(ignoreReferralMarketing);
63+
unalix.setIgnoreRules(ignoreRules);
64+
unalix.setIgnoreExceptions(ignoreExceptions);
65+
unalix.setRawRules(ignoreRawRules);
66+
unalix.setIgnoreRedirections(ignoreRedirections);
67+
unalix.setSkipBlocked(skipBlocked);
68+
unalix.setStripDuplicates(stripDuplicates);
69+
unalix.setStripEmpty(stripEmpty);
70+
71+
if (whatToDo.equals("clearUrl")) {
72+
cleanedUrl = unalix.clearUrl(uglyUrl);
73+
} else {
74+
final int maxRedirects = Integer.valueOf(settings.getString("maxRedirects", "13"));
75+
final int connectTimeout = Integer.valueOf(settings.getString("connectTimeout", "3000"));
76+
final int readTimeout = Integer.valueOf(settings.getString("readTimeout", "3000"));
77+
final int readChunkSize = Integer.valueOf(settings.getString("readChunkSize", "1024"));
78+
final String dohUrl = settings.getString("dohUrl", "https://cloudflare-dns.com/dns-query");
79+
final String dohAddress = settings.getString("dohAddress", "1.1.1.1");
80+
final int dohPort = Integer.valueOf(settings.getString("dohPort", "443"));
81+
final String userAgent = settings.getString("userAgent", "UnalixAndroid/0.1 (+https://github.com/AmanoTeam/UnalixAndroid)");
82+
83+
unalix.setMaxRedirects(maxRedirects);
84+
unalix.setConnectTimeout(connectTimeout);
85+
unalix.setReadTimeout(readTimeout);
86+
unalix.setReadChunkSize(readChunkSize);
87+
unalix.setDohUrl(dohUrl);
88+
unalix.setDohAddress(dohAddress);
89+
unalix.setDohPort(dohPort);
90+
unalix.setUserAgent(userAgent);
91+
92+
cleanedUrl = unalix.unshortUrl(uglyUrl);
93+
}
94+
4695
String actionName = "";
4796

4897
if (action.equals(Intent.ACTION_SEND)) {
49-
final String cleanedUrl = unalix.aunshortUrl(uglyUrl);
50-
5198
actionName = "Share with";
5299

53100
sendIntent.setAction(Intent.ACTION_SEND);
54101
sendIntent.putExtra(Intent.EXTRA_TEXT, cleanedUrl);
55102
sendIntent.setType("text/plain");
56103
} else if (action.equals(Intent.ACTION_VIEW)) {
57-
final String cleanedUrl = unalix.aunshortUrl(uglyUrl);
58-
59104
actionName = "Open with";
60105

61106
sendIntent.setAction(Intent.ACTION_VIEW);

app/src/main/java/com/amanoteam/unalix/UnshortURLActivity.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ protected void onCreate(Bundle savedInstanceState) {
2727
final Intent serviceIntent = new Intent(this, UnalixService.class);
2828
serviceIntent.putExtra("originalAction", action);
2929
serviceIntent.putExtra("uglyUrl", uglyUrl);
30+
serviceIntent.putExtra("whatToDo", "unshortUrl");
3031

3132
startService(serviceIntent);
3233

99.7 KB
Binary file not shown.
-88.8 KB
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)