Skip to content

Commit 5d6b449

Browse files
marcnauseAsCress
andauthored
feat: add automatically generated oss license screen (#2543)
Co-authored-by: Anashuman Singh <[email protected]>
1 parent 424a9f3 commit 5d6b449

File tree

9 files changed

+45
-3
lines changed

9 files changed

+45
-3
lines changed

app/build.gradle.kts

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
plugins {
22
id("com.android.application")
3+
id("com.google.android.gms.oss-licenses-plugin")
34
}
45

56
apply(plugin = "realm-android")
@@ -17,7 +18,7 @@ android {
1718
targetSdk = 34
1819
versionCode = System.getenv("VERSION_CODE")?.toInt() ?: 1
1920
versionName = System.getenv("VERSION_NAME") ?: "1.0.0"
20-
resConfigs("en","ru","ar","si","pl")
21+
resConfigs("en", "ru", "ar", "si", "pl")
2122
}
2223

2324
signingConfigs {
@@ -114,4 +115,8 @@ dependencies {
114115

115116
// Realm
116117
implementation("com.github.realm:realm-android-adapters:v4.0.0")
118+
119+
// OSS license plugin
120+
implementation("com.google.android.gms:play-services-oss-licenses:17.1.0")
121+
117122
}

app/src/main/AndroidManifest.xml

+6
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@
120120
<activity
121121
android:name=".activity.DustSensorActivity"
122122
android:screenOrientation="fullSensor" />
123+
<activity
124+
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
125+
android:theme="@style/OssLicenseScreenTheme" />
126+
<activity
127+
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
128+
android:theme="@style/OssLicenseScreenTheme" />
123129

124130
<receiver android:name=".receivers.USBDetachReceiver" />
125131

app/src/main/java/io/pslab/activity/MainActivity.java

+5
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import androidx.fragment.app.Fragment;
3333
import androidx.fragment.app.FragmentTransaction;
3434

35+
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity;
3536
import com.google.android.material.navigation.NavigationView;
3637
import com.google.android.material.snackbar.Snackbar;
3738

@@ -324,6 +325,10 @@ public boolean onNavigationItemSelected(@NonNull MenuItem item) {
324325
drawer.closeDrawers();
325326
}
326327
break;
328+
case R.id.nav_third_party_libs:
329+
OssLicensesMenuActivity.setActivityTitle(getString(R.string.third_party_libs));
330+
startActivity(new Intent(MainActivity.this, OssLicensesMenuActivity.class));
331+
break;
327332
default:
328333
navItemIndex = 0;
329334
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M12,8.5c-0.91,0 -2.75,0.46 -2.75,1.38v4.62h1.5V19h2.5v-4.5h1.5V9.88C14.75,8.97 12.91,8.5 12,8.5z"/>
4+
5+
<path android:fillColor="@android:color/white" android:pathData="M12,2C6.47,2 2,6.47 2,12s4.47,10 10,10s10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8s8,3.58 8,8S16.42,20 12,20z"/>
6+
7+
<path android:fillColor="@android:color/white" android:pathData="M12,6.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0"/>
8+
9+
</vector>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="24" android:viewportWidth="24" android:width="24dp">
2+
3+
<path android:fillColor="@android:color/white" android:pathData="M12,17.27L18.18,21l-1.64,-7.03L22,9.24l-7.19,-0.61L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21z"/>
4+
5+
</vector>

app/src/main/res/menu/activity_main_drawer.xml

+6-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
<item
4646
android:id="@+id/nav_rate"
4747
android:checkable="true"
48-
android:icon="@android:drawable/btn_star"
48+
android:icon="@drawable/baseline_star_24"
4949
android:title="@string/rateapp" />
5050
<item
5151
android:id="@+id/nav_buy_pslab"
@@ -64,6 +64,10 @@
6464
<item
6565
android:id="@+id/nav_privacy_policy"
6666
android:icon="@drawable/baseline_article_24"
67-
android:title="@string/privacy_policy"/>
67+
android:title="@string/privacy_policy" />
68+
<item
69+
android:id="@+id/nav_third_party_libs"
70+
android:icon="@drawable/baseline_attribution_24"
71+
android:title="@string/third_party_libs" />
6872
</group>
6973
</menu>

app/src/main/res/values/strings.xml

+1
Original file line numberDiff line numberDiff line change
@@ -1088,6 +1088,7 @@
10881088
<string name="unit_volts">\u0020V</string>
10891089
<string name="no_playback_data">No data to display</string>
10901090
<string name="privacy_policy">Privacy Policy</string>
1091+
<string name="third_party_libs">Open Source Licenses</string>
10911092
<string name="auto_scale_error">No input found</string>
10921093
<string name="auto_scale">Auto</string>
10931094
<string name="control_stop">Stop</string>

app/src/main/res/values/styles.xml

+5
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@
1616
<item name="colorPrimaryDark">@color/darkWhite</item>
1717
</style>
1818

19+
<style name="OssLicenseScreenTheme" parent="AppTheme">
20+
<item name="windowActionBar">true</item>
21+
<item name="windowNoTitle">false</item>
22+
</style>
23+
1924
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
2025

2126
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light">

build.gradle.kts

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ buildscript {
55
}
66
dependencies {
77
classpath("io.realm:realm-gradle-plugin:10.18.0")
8+
classpath("com.google.android.gms:oss-licenses-plugin:0.10.6")
9+
810
}
911
}
1012

0 commit comments

Comments
 (0)