diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 53ff74d8..00000000 --- a/.gitmodules +++ /dev/null @@ -1,15 +0,0 @@ -[submodule "extern/UnifiedNlp"] - path = extern/UnifiedNlp - url = https://github.com/microg/android_packages_apps_UnifiedNlp.git -[submodule "extern/GmsApi"] - path = extern/GmsApi - url = https://github.com/microg/android_external_GmsApi.git -[submodule "extern/Wearable"] - path = extern/Wearable - url = https://github.com/microg/android_external_Wearable.git -[submodule "extern/GmsLib"] - path = extern/GmsLib - url = https://github.com/microg/android_external_GmsLib.git -[submodule "extern/RemoteDroidGuard"] - path = extern/RemoteDroidGuard - url = https://github.com/microg/android_packages_apps_RemoteDroidGuard.git diff --git a/.travis.yml b/.travis.yml index 87ad538a..daf99eeb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ android: components: - tools - platform-tools - - build-tools-29.0.2 - - android-27 - - android-28 + - build-tools-29.0.3 + - android-29 - extra-android-m2repository diff --git a/build.gradle b/build.gradle index b6ffdcde..d9efd03d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,63 +1,110 @@ /* - * Copyright 2013-2019 microG Project Team - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * SPDX-FileCopyrightText: 2013, microG Project Team + * SPDX-License-Identifier: Apache-2.0 */ buildscript { - ext.kotlin_version = '1.3.21' + ext.nlpVersion = '2.0-alpha1' + ext.remoteDroidGuardVersion = '0.1.1' + ext.safeParcelVersion = '1.6.0' + ext.wearableVersion = '0.1.1' + + ext.kotlinVersion = '1.3.72' + ext.coroutineVersion = '1.3.7' + + ext.annotationVersion = '1.1.0' + ext.appcompatVersion = '1.1.0' + ext.fragmentVersion = '1.2.5' + ext.lifecycleVersion = '2.2.0' + ext.mediarouterVersion = '1.1.0' + ext.multidexVersion = '2.0.1' + ext.navigationVersion = '2.3.0' + ext.preferenceVersion = '1.1.1' + ext.recyclerviewVersion = '1.1.0' + + ext.supportLibraryVersion = "28.0.0" + ext.slf4jVersion = "1.7.25" + + ext.androidBuildGradleVersion = "3.6.3" + + ext.androidBuildVersionTools = "29.0.3" + + ext.androidMinSdk = 14 + ext.androidTargetSdk = 29 + ext.androidCompileSdk = 29 + repositories { jcenter() google() } + dependencies { - classpath 'com.android.tools.build:gradle:3.5.1' - classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "com.android.tools.build:gradle:$androidBuildGradleVersion" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } } +def execResult(...args) { + def stdout = new ByteArrayOutputStream() + exec { + commandLine args + standardOutput = stdout + } + return stdout.toString().trim() +} + +def gmsVersion = "19.4.20" +def gmsVersionCode = Integer.parseInt(gmsVersion.replaceAll('\\.', '')) +def gitVersionBase = execResult('git', 'describe', '--tags', '--abbrev=0', '--match=v[0-9]*').substring(1) +def gitCommitCount = Integer.parseInt(execResult('git', 'rev-list', '--count', "v$gitVersionBase..HEAD")) +def gitCommitId = execResult('git', 'show-ref', '--abbrev=7', '--head', 'HEAD').split(' ')[0] +def gitDirty = execResult('git', 'status', '--porcelain').size() > 0 +def ourVersionBase = gitVersionBase.substring(0, gitVersionBase.lastIndexOf('.')) +def ourVersionMinor = Integer.parseInt(ourVersionBase.substring(ourVersionBase.lastIndexOf('.') + 1)) +def ourVersionCode = gmsVersionCode * 1000 + ourVersionMinor * 2 + (gitCommitCount > 0 || gitDirty ? 1 : 0) +def ourVersionName = "$ourVersionBase.$gmsVersionCode" + (gitCommitCount > 0 && !gitDirty ? "-$gitCommitCount" : "") + (gitDirty ? "-dirty" : "") + (gitCommitCount > 0 && !gitDirty ? " ($gitCommitId)" : "") +logger.lifecycle('Starting build for version {} ({})...', ourVersionName, ourVersionCode) + +@Deprecated +String getMyVersionName() { + return ourVersionName +} + +@Deprecated +int getMyVersionCode() { + return ourVersionCode +} + + allprojects { apply plugin: 'idea' - ext.androidBuildVersionTools = "29.0.2" - ext.supportLibraryVersion = "28.0.0" + + group = 'org.microg.gms' + version = ourVersionName + ext.appVersionCode = ourVersionCode ext.isReleaseVersion = false - ext.slf4jVersion = "1.7.25" } -def androidCompileSdk() { return 28 } +@Deprecated +def androidCompileSdk() { return androidCompileSdk } -def androidTargetSdk() { return 29 } +@Deprecated +def androidTargetSdk() { return androidTargetSdk } -def androidMinSdk() { return 14 } +@Deprecated +def androidMinSdk() { return androidMinSdk } +@Deprecated def versionCode() { - def stdout = new ByteArrayOutputStream() - exec { commandLine 'git', 'rev-list', '--count', "HEAD"; standardOutput = stdout } - return Integer.parseInt(stdout.toString().trim()) + return ourVersionCode } +@Deprecated def versionName() { - def stdout = new ByteArrayOutputStream() - if (rootProject.file("gradlew").exists()) - exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout } - else // automatic build system, don't tag dirty - exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout } - return stdout.toString().trim().substring(1) + return ourVersionName } subprojects { - group = 'org.microg' repositories { jcenter() google() diff --git a/extern/GmsApi b/extern/GmsApi deleted file mode 160000 index 2a43448e..00000000 --- a/extern/GmsApi +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2a43448e49dc0aec0d6c53c8a27dd58245fdaba6 diff --git a/extern/GmsLib b/extern/GmsLib deleted file mode 160000 index 15cd4491..00000000 --- a/extern/GmsLib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 15cd4491bcca57d627796b35b69bdf8c97564792 diff --git a/extern/UnifiedNlp b/extern/UnifiedNlp deleted file mode 160000 index 82479b79..00000000 --- a/extern/UnifiedNlp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 82479b79c76353f532e0c6edd0d1dee8d49c48f4 diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 00000000..5bac8ac5 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +android.useAndroidX=true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d757f3d3..21a8fe40 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.4-all.zip diff --git a/microg-ui-tools/build.gradle b/microg-ui-tools/build.gradle index 1fb652d4..d1479ecf 100644 --- a/microg-ui-tools/build.gradle +++ b/microg-ui-tools/build.gradle @@ -16,15 +16,6 @@ apply plugin: 'com.android.library' -String getMyVersionName() { - def stdout = new ByteArrayOutputStream() - if (rootProject.file("gradlew").exists()) - exec { commandLine 'git', 'describe', '--tags', '--always', '--dirty'; standardOutput = stdout } - else // automatic build system, don't tag dirty - exec { commandLine 'git', 'describe', '--tags', '--always'; standardOutput = stdout } - return stdout.toString().trim().substring(1) -} - android { compileSdkVersion androidCompileSdk buildToolsVersion "$androidBuildVersionTools" @@ -36,8 +27,8 @@ android { } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 + sourceCompatibility = 1.8 + targetCompatibility = 1.8 } lintOptions { diff --git a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java index b23a57e4..e0b53f47 100644 --- a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java +++ b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractAboutFragment.java @@ -103,7 +103,6 @@ public abstract class AbstractAboutFragment extends Fragment { } List libraries = new ArrayList(); - libraries.add(new Library(BuildConfig.APPLICATION_ID, getString(R.string.lib_name), getString(R.string.lib_license))); collectLibraries(libraries); Collections.sort(libraries); ((ListView) aboutRoot.findViewById(android.R.id.list)).setAdapter(new LibraryAdapter(getContext(), libraries.toArray(new Library[libraries.size()]))); diff --git a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java index 0bd9671c..caac607b 100644 --- a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java +++ b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractDashboardActivity.java @@ -4,7 +4,6 @@ import android.os.Bundle; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; import androidx.fragment.app.Fragment; import java.util.ArrayList; @@ -22,8 +21,6 @@ public abstract class AbstractDashboardActivity extends AppCompatActivity { setContentView(R.layout.dashboard_activity); conditionContainer = (ViewGroup) findViewById(R.id.condition_container); - setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); - getSupportFragmentManager().beginTransaction() .replace(R.id.content_wrapper, getFragment()) .commit(); diff --git a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java index b2a366f2..a771a9ea 100644 --- a/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java +++ b/microg-ui-tools/src/main/java/org/microg/tools/ui/AbstractSettingsActivity.java @@ -5,7 +5,6 @@ import android.view.MenuItem; import android.view.ViewGroup; import androidx.appcompat.app.AppCompatActivity; -import androidx.appcompat.widget.Toolbar; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentTransaction; @@ -20,8 +19,6 @@ public abstract class AbstractSettingsActivity extends AppCompatActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.settings_activity); - - setSupportActionBar((Toolbar) findViewById(R.id.toolbar)); if (showHomeAsUp) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); } diff --git a/microg-ui-tools/src/main/res/layout/dashboard_activity.xml b/microg-ui-tools/src/main/res/layout/dashboard_activity.xml index 5eddc2ff..60bf0cad 100644 --- a/microg-ui-tools/src/main/res/layout/dashboard_activity.xml +++ b/microg-ui-tools/src/main/res/layout/dashboard_activity.xml @@ -19,8 +19,6 @@ android:layout_height="match_parent" android:orientation="vertical"> - - - - + android:background="@null"/> \ No newline at end of file diff --git a/microg-ui-tools/src/main/res/values-v14/themes.xml b/microg-ui-tools/src/main/res/values-v14/themes.xml deleted file mode 100644 index 346c13b5..00000000 --- a/microg-ui-tools/src/main/res/values-v14/themes.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/microg-ui-tools/src/main/res/values/themes.xml b/microg-ui-tools/src/main/res/values/themes.xml deleted file mode 100644 index a90cd275..00000000 --- a/microg-ui-tools/src/main/res/values/themes.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - -