Skip to content

Commit d571952

Browse files
committed
shrink
1 parent e68ebdf commit d571952

File tree

15 files changed

+221
-156
lines changed

15 files changed

+221
-156
lines changed

app/build.gradle.kts

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,65 @@
1-
import org.gradle.kotlin.dsl.support.kotlinCompilerOptions
1+
@file:Suppress("UnstableApiUsage")
2+
3+
import com.android.build.gradle.tasks.PackageAndroidArtifact
24
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
35

46
plugins {
5-
id("com.android.application")
6-
id("org.jetbrains.kotlin.android")
7+
alias(libs.plugins.android.application)
8+
alias(libs.plugins.kotlin.android)
79
}
810

911
android {
1012
namespace = "me.dyskal.sharefix"
11-
compileSdk = 34
13+
compileSdk = 35
1214

1315
defaultConfig {
1416
applicationId = "me.dyskal.sharefix"
1517
minSdk = 26
16-
targetSdk = 34
18+
targetSdk = 35
1719
versionCode = 1
18-
versionName = "1.0"
20+
versionName = "1.1"
1921
signingConfig = signingConfigs.getByName("debug")
2022
}
2123

24+
flavorDimensions += "api"
25+
26+
productFlavors {
27+
create("api26") {
28+
dimension = "api"
29+
}
30+
create("api32") {
31+
dimension = "api"
32+
minSdk = 32
33+
isDefault = true
34+
}
35+
}
36+
2237
buildTypes {
2338
release {
2439
isMinifyEnabled = true
2540
isShrinkResources = true
41+
vcsInfo.include = false
2642
proguardFiles(
2743
getDefaultProguardFile("proguard-android-optimize.txt"),
2844
"proguard-rules.pro",
2945
)
3046
}
3147
}
32-
compileOptions {
33-
sourceCompatibility = JavaVersion.VERSION_21
34-
targetCompatibility = JavaVersion.VERSION_21
48+
49+
kotlin {
50+
compilerOptions {
51+
jvmTarget = JvmTarget.JVM_21
52+
progressiveMode = true
53+
extraWarnings = true
54+
}
55+
jvmToolchain(21)
3556
}
36-
kotlinOptions {
37-
jvmTarget = "21"
57+
58+
packaging {
59+
resources.excludes += listOf("**/META-INF/**", "**/kotlin/**", "kotlin-tooling-metadata.json")
3860
}
3961
}
4062

41-
kotlin {
42-
compilerOptions {
43-
jvmTarget.set(JvmTarget.JVM_21)
44-
}
45-
jvmToolchain(21)
63+
tasks.withType<PackageAndroidArtifact> {
64+
doFirst { appMetadata.asFile.get().writeText("") }
4665
}

app/proguard-rules.pro

Lines changed: 12 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
1-
# Add project specific ProGuard rules here.
2-
# You can control the set of applied configuration files using the
3-
# proguardFiles setting in build.gradle.
4-
#
5-
# For more details, see
6-
# http://developer.android.com/guide/developing/tools/proguard.html
7-
8-
# If your project uses WebView with JS, uncomment the following
9-
# and specify the fully qualified class name to the JavaScript interface
10-
# class:
11-
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12-
# public *;
13-
#}
14-
15-
# Uncomment this to preserve the line number information for
16-
# debugging stack traces.
17-
#-keepattributes SourceFile,LineNumberTable
18-
19-
# If you keep the line number information, uncomment this to
20-
# hide the original source file name.
21-
#-renamesourcefileattribute SourceFile
1+
-assumenosideeffects class kotlin.jvm.internal.Intrinsics {
2+
public static void checkNotNull(java.lang.Object);
3+
public static void checkNotNull(java.lang.Object, java.lang.String);
4+
public static void checkExpressionValueIsNotNull(java.lang.Object, java.lang.String);
5+
public static void checkNotNullExpressionValue(java.lang.Object, java.lang.String);
6+
public static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
7+
public static void checkReturnedValueIsNotNull(java.lang.Object, java.lang.String);
8+
public static void checkFieldIsNotNull(java.lang.Object, java.lang.String, java.lang.String);
9+
public static void checkFieldIsNotNull(java.lang.Object, java.lang.String);
10+
public static void checkParameterIsNotNull(java.lang.Object, java.lang.String);
11+
public static void checkNotNullParameter(java.lang.Object, java.lang.String);
12+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package me.dyskal.sharefix
2+
3+
import android.app.Activity
4+
import android.content.ClipData
5+
import android.content.ClipboardManager
6+
import android.content.Intent
7+
import android.net.Uri
8+
import android.os.Build
9+
import android.os.Bundle
10+
import android.widget.Toast
11+
import java.util.Map.of
12+
13+
class ShareActivity : Activity() {
14+
override fun onCreate(savedInstanceState: Bundle?) {
15+
super.onCreate(null)
16+
val uri = Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT))
17+
val links = of(
18+
"twitter.com", "fixupx.com",
19+
"x.com", "fixupx.com",
20+
"instagram.com", "ddinstagram.com",
21+
"www.instagram.com", "ddinstagram.com",
22+
"tiktok.com", "vxtiktok.com",
23+
"vm.tiktok.com", "vxtiktok.com",
24+
"reddit.com", "rxddit.com",
25+
"threads.net", "vxthreads.net",
26+
)
27+
val authority = links[uri.authority]
28+
if (authority != null) {
29+
val clip = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
30+
clip.setPrimaryClip(
31+
ClipData.newPlainText(
32+
"ShareFix",
33+
uri.buildUpon().authority(authority).clearQuery().toString()
34+
)
35+
)
36+
// Toast if SDK <= 32, else system does it
37+
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.S_V2) {
38+
Toast.makeText(this, "ShareFix copied", Toast.LENGTH_SHORT).show()
39+
}
40+
}
41+
finish()
42+
}
43+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package me.dyskal.sharefix
2+
3+
import android.app.Activity
4+
import android.content.ClipData
5+
import android.content.ClipboardManager
6+
import android.content.Intent
7+
import android.net.Uri
8+
import android.os.Bundle
9+
import java.util.Map.of
10+
11+
class ShareActivity : Activity() {
12+
override fun onCreate(savedInstanceState: Bundle?) {
13+
super.onCreate(null)
14+
val uri = Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT))
15+
val links = of(
16+
"twitter.com", "fixupx.com",
17+
"x.com", "fixupx.com",
18+
"instagram.com", "ddinstagram.com",
19+
"www.instagram.com", "ddinstagram.com",
20+
"tiktok.com", "vxtiktok.com",
21+
"vm.tiktok.com", "vxtiktok.com",
22+
"reddit.com", "rxddit.com",
23+
"threads.net", "vxthreads.net",
24+
)
25+
val authority = links[uri.authority]
26+
if (authority != null) {
27+
val clip = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager
28+
clip.setPrimaryClip(
29+
ClipData.newPlainText(
30+
"ShareFix",
31+
uri.buildUpon().authority(authority).clearQuery().toString()
32+
)
33+
)
34+
}
35+
finish()
36+
}
37+
}

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<activity
88
android:name=".ShareActivity"
99
android:exported="true"
10-
android:theme="@android:style/Theme.Translucent.NoTitleBar">
10+
android:theme="@android:style/Theme.NoDisplay">
1111
<intent-filter>
1212
<action android:name="android.intent.action.SEND" />
1313
<category android:name="android.intent.category.DEFAULT" />

app/src/main/java/me/dyskal/sharefix/ShareActivity.kt

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<gradient xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:endColor="#6A3DE8"
3+
android:endX="600"
4+
android:endY="600"
5+
android:startColor="#009688"
6+
android:startX="100"
7+
android:startY="100"
8+
android:type="linear">
9+
</gradient>

app/src/main/res/drawable/ic_launcher_background.xml

Lines changed: 0 additions & 24 deletions
This file was deleted.

app/src/main/res/drawable/ic_launcher_foreground.xml

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,55 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
3-
<background android:drawable="@drawable/ic_launcher_background" />
4-
<foreground android:drawable="@drawable/ic_launcher_foreground" />
5-
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
3+
<background>
4+
<vector
5+
android:width="108dp"
6+
android:height="108dp"
7+
android:viewportWidth="700"
8+
android:viewportHeight="700">
9+
<path
10+
android:fillColor="@color/ic_launcher_gradient"
11+
android:pathData="M0,0h700v700h-700z">
12+
</path>
13+
</vector>
14+
</background>
15+
<foreground>
16+
<vector
17+
android:width="108dp"
18+
android:height="108dp"
19+
android:viewportWidth="36"
20+
android:viewportHeight="36">
21+
<group
22+
android:scaleX="0.46261683"
23+
android:scaleY="0.46261683"
24+
android:translateX="9.75"
25+
android:translateY="9.672897">
26+
<path
27+
android:fillColor="#8899A6"
28+
android:pathData="M15,9l6,-6s6,-6 12,0 0,12 0,12l-8,8s-6,6 -12,0c-1.125,-1.125 -1.822,-2.62 -1.822,-2.62l3.353,-3.348S14.396,18.396 16,20c0,0 3,3 6,0l8,-8s3,-3 0,-6 -6,0 -6,0l-3.729,3.729s-1.854,-1.521 -5.646,-0.354L15,9z" />
29+
<path
30+
android:fillColor="#8899A6"
31+
android:pathData="M20.845,27l-6,6s-6,6 -12,0 0,-12 0,-12l8,-8s6,-6 12,0c1.125,1.125 1.822,2.62 1.822,2.62l-3.354,3.349s0.135,-1.365 -1.469,-2.969c0,0 -3,-3 -6,0l-8,8s-3,3 0,6 6,0 6,0l3.729,-3.729s1.854,1.521 5.646,0.354l-0.374,0.375z" />
32+
</group>
33+
</vector>
34+
</foreground>
35+
<monochrome>
36+
<vector
37+
android:width="108dp"
38+
android:height="108dp"
39+
android:viewportWidth="36"
40+
android:viewportHeight="36">
41+
<group
42+
android:scaleX="0.46261683"
43+
android:scaleY="0.46261683"
44+
android:translateX="9.75"
45+
android:translateY="9.672897">
46+
<path
47+
android:fillColor="#8899A6"
48+
android:pathData="M15,9l6,-6s6,-6 12,0 0,12 0,12l-8,8s-6,6 -12,0c-1.125,-1.125 -1.822,-2.62 -1.822,-2.62l3.353,-3.348S14.396,18.396 16,20c0,0 3,3 6,0l8,-8s3,-3 0,-6 -6,0 -6,0l-3.729,3.729s-1.854,-1.521 -5.646,-0.354L15,9z" />
49+
<path
50+
android:fillColor="#8899A6"
51+
android:pathData="M20.845,27l-6,6s-6,6 -12,0 0,-12 0,-12l8,-8s6,-6 12,0c1.125,1.125 1.822,2.62 1.822,2.62l-3.354,3.349s0.135,-1.365 -1.469,-2.969c0,0 -3,-3 -6,0l-8,8s-3,3 0,6 6,0 6,0l3.729,-3.729s1.854,1.521 5.646,0.354l-0.374,0.375z" />
52+
</group>
53+
</vector>
54+
</monochrome>
655
</adaptive-icon>

0 commit comments

Comments
 (0)