Merge branch 'androidx' into 'master'

AndroidX Migration

See merge request fdroid/fdroidclient!899
This commit is contained in:
Hans-Christoph Steiner 2020-07-15 08:05:32 +00:00
commit 5ba756ba5b
239 changed files with 855 additions and 837 deletions

3
.gitignore vendored
View File

@ -16,7 +16,6 @@ build.xml
# Gradle files # Gradle files
.gradle/ .gradle/
build/ build/
gradle.properties
# Local configuration file (sdk path, etc) # Local configuration file (sdk path, etc)
local.properties local.properties
@ -47,4 +46,4 @@ junit-report.xml
# Screen dumps from Android Studio/DDMS # Screen dumps from Android Studio/DDMS
captures/ captures/
/fdroid/ /fdroid/

View File

@ -12,8 +12,8 @@ def getVersionName = { ->
return stdout.toString().trim() return stdout.toString().trim()
} }
def isCi = "true".equals(System.getenv("CI")) def isCi = "true" == System.getenv("CI")
def preDexEnabled = "true".equals(System.getProperty("pre-dex", "true")) def preDexEnabled = "true" == System.getProperty("pre-dex", "true")
def fullApplicationId = "org.fdroid.fdroid" def fullApplicationId = "org.fdroid.fdroid"
def basicApplicationId = "org.fdroid.basic" def basicApplicationId = "org.fdroid.basic"
@ -21,14 +21,16 @@ def basicApplicationId = "org.fdroid.basic"
def privilegedExtensionApplicationId = '"org.fdroid.fdroid.privileged"' def privilegedExtensionApplicationId = '"org.fdroid.fdroid.privileged"'
android { android {
compileSdkVersion 27 compileSdkVersion 28
buildToolsVersion '27.0.3'
defaultConfig { defaultConfig {
versionCode 1010000 versionCode 1010000
versionName getVersionName() versionName getVersionName()
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
minSdkVersion 14
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 25
/* /*
The Android Testing Support Library collects analytics to continuously improve the testing The Android Testing Support Library collects analytics to continuously improve the testing
experience. More specifically, it uploads a hash of the package name of the application experience. More specifically, it uploads a hash of the package name of the application
@ -43,7 +45,6 @@ android {
// release builds before. // release builds before.
all { all {
minifyEnabled true minifyEnabled true
useProguard true
shrinkResources true shrinkResources true
buildConfigField "String", "PRIVILEGED_EXTENSION_PACKAGE_NAME", privilegedExtensionApplicationId buildConfigField "String", "PRIVILEGED_EXTENSION_PACKAGE_NAME", privilegedExtensionApplicationId
buildConfigField "String", "ACRA_REPORT_EMAIL", '"reports@f-droid.org"' // String needs both quotes buildConfigField "String", "ACRA_REPORT_EMAIL", '"reports@f-droid.org"' // String needs both quotes
@ -134,17 +135,17 @@ android {
} }
dependencies { dependencies {
implementation 'com.android.support:support-v4:27.1.1' implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'com.android.support:appcompat-v7:27.1.1' implementation 'androidx.preference:preference:1.1.1'
implementation 'com.android.support:gridlayout-v7:27.1.1' implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'com.android.support:support-annotations:27.1.1' implementation 'androidx.annotation:annotation:1.1.0'
implementation 'com.android.support:recyclerview-v7:27.1.1' implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.android.support:cardview-v7:27.1.1' implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.android.support:design:27.1.1' implementation 'androidx.vectordrawable:vectordrawable:1.1.0'
implementation 'com.android.support:support-vector-drawable:27.1.1' implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.android.support.constraint:constraint-layout:1.1.3' implementation 'androidx.palette:palette:1.0.0'
implementation 'com.android.support:palette-v7:27.1.1'
implementation 'com.android.support:preference-v14:27.1.1' implementation 'com.google.android.material:material:1.1.0'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation 'com.google.zxing:core:3.3.3' implementation 'com.google.zxing:core:3.3.3'
@ -161,24 +162,26 @@ dependencies {
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.11' implementation 'com.fasterxml.jackson.core:jackson-annotations:2.8.11'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.11' implementation 'com.fasterxml.jackson.core:jackson-databind:2.8.11'
implementation 'org.bouncycastle:bcprov-jdk15on:1.60' implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
fullImplementation 'org.bouncycastle:bcpkix-jdk15on:1.60' fullImplementation 'org.bouncycastle:bcpkix-jdk15on:1.65'
fullImplementation 'cc.mvdan.accesspoint:library:0.2.0' fullImplementation 'cc.mvdan.accesspoint:library:0.2.0'
fullImplementation 'org.jmdns:jmdns:3.5.5' fullImplementation 'org.jmdns:jmdns:3.5.5'
fullImplementation 'org.nanohttpd:nanohttpd:2.3.1' fullImplementation 'org.nanohttpd:nanohttpd:2.3.1'
testImplementation 'org.robolectric:robolectric:3.8' testImplementation 'androidx.test:core:1.2.0'
testImplementation "com.android.support.test:monitor:1.0.2"
testImplementation 'org.bouncycastle:bcprov-jdk15on:1.60'
testImplementation 'junit:junit:4.13' testImplementation 'junit:junit:4.13'
testImplementation 'org.robolectric:robolectric:4.3'
testImplementation 'org.mockito:mockito-core:3.3.3'
testImplementation 'org.hamcrest:hamcrest:2.2' testImplementation 'org.hamcrest:hamcrest:2.2'
testImplementation 'org.mockito:mockito-core:2.7.22' testImplementation 'org.bouncycastle:bcprov-jdk15on:1.65'
androidTestImplementation 'com.android.support:support-annotations:27.1.1' androidTestImplementation 'androidx.test:core:1.2.0'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'androidx.test:rules:1.2.0'
androidTestImplementation 'com.android.support.test:rules:1.0.2' androidTestImplementation 'androidx.test:monitor:1.2.0'
androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3' androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
} }
checkstyle { checkstyle {

View File

@ -33,17 +33,6 @@
public *; public *;
} }
# Samsung Android 4.2 bug
# https://code.google.com/p/android/issues/detail?id=78377
-keepnames class !android.support.v7.internal.view.menu.**, ** {*;}
-keep public class android.support.v7.widget.** {*;}
-keep public class android.support.v7.internal.widget.** {*;}
-keep public class * extends android.support.v4.view.ActionProvider {
public <init>(android.content.Context);
}
# The rxjava library depends on sun.misc.Unsafe, which is unavailable on Android # The rxjava library depends on sun.misc.Unsafe, which is unavailable on Android
# The rxjava team is aware of this, and mention in the docs that they only use # The rxjava team is aware of this, and mention in the docs that they only use
# the unsafe functionality if the platform supports it. # the unsafe functionality if the platform supports it.

View File

@ -5,12 +5,13 @@
package="org.fdroid.fdroid.tests" package="org.fdroid.fdroid.tests"
android:versionCode="1" android:versionCode="1"
android:versionName="1.0"> android:versionName="1.0">
<uses-sdk tools:overrideLibrary="android.support.test.uiautomator.v18"/> <uses-sdk tools:overrideLibrary="android_libs.ub_uiautomator" />
<!-- We add an application tag here just so that we can indicate that <!-- We add an application tag here just so that we can indicate that
this package needs to link against the android.test library, this package needs to link against the android.test library,
which is needed when building test cases. --> which is needed when building test cases. -->
<application> <application>
<uses-library android:name="android.test.runner"/> <uses-library android:name="android.test.runner"
android:required="false" />
</application> </application>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

View File

@ -1,7 +1,7 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.content.Context; import android.content.Context;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.util.Log; import android.util.Log;
import java.io.File; import java.io.File;

View File

@ -1,8 +1,8 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.support.test.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.fdroid.fdroid.compat.FileCompatTest; import org.fdroid.fdroid.compat.FileCompatTest;

View File

@ -5,8 +5,8 @@ import android.content.Context;
import android.content.res.AssetManager; import android.content.res.AssetManager;
import android.content.res.Configuration; import android.content.res.Configuration;
import android.content.res.Resources; import android.content.res.Resources;
import android.support.test.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.DisplayMetrics; import android.util.DisplayMetrics;
import android.util.Log; import android.util.Log;
@ -179,6 +179,9 @@ public class LocalizationTest {
case "dd": case "dd":
resources.getString(resId, 1, 2); resources.getString(resId, 1, 2);
break; break;
case "ds":
resources.getString(resId, 1, "TWO");
break;
case "dds": case "dds":
resources.getString(resId, 1, 2, "THREE"); resources.getString(resId, 1, 2, "THREE");
break; break;

View File

@ -5,17 +5,19 @@ import android.app.ActivityManager;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.support.test.InstrumentationRegistry;
import android.support.test.espresso.IdlingPolicies; import androidx.test.core.app.ApplicationProvider;
import android.support.test.espresso.ViewInteraction; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.filters.LargeTest; import androidx.test.espresso.IdlingPolicies;
import android.support.test.rule.ActivityTestRule; import androidx.test.espresso.ViewInteraction;
import android.support.test.rule.GrantPermissionRule; import androidx.test.filters.LargeTest;
import android.support.test.runner.AndroidJUnit4; import androidx.test.rule.ActivityTestRule;
import android.support.test.uiautomator.UiDevice; import androidx.test.rule.GrantPermissionRule;
import android.support.test.uiautomator.UiObject; import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.support.test.uiautomator.UiObjectNotFoundException; import androidx.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiSelector; import androidx.test.uiautomator.UiObject;
import androidx.test.uiautomator.UiObjectNotFoundException;
import androidx.test.uiautomator.UiSelector;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import org.fdroid.fdroid.views.BannerUpdatingRepos; import org.fdroid.fdroid.views.BannerUpdatingRepos;
@ -32,19 +34,19 @@ import org.junit.runner.RunWith;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import static android.support.test.espresso.Espresso.onView; import static androidx.test.espresso.Espresso.onView;
import static android.support.test.espresso.action.ViewActions.click; import static androidx.test.espresso.action.ViewActions.click;
import static android.support.test.espresso.action.ViewActions.swipeDown; import static androidx.test.espresso.action.ViewActions.swipeDown;
import static android.support.test.espresso.action.ViewActions.swipeLeft; import static androidx.test.espresso.action.ViewActions.swipeLeft;
import static android.support.test.espresso.action.ViewActions.swipeRight; import static androidx.test.espresso.action.ViewActions.swipeRight;
import static android.support.test.espresso.action.ViewActions.swipeUp; import static androidx.test.espresso.action.ViewActions.swipeUp;
import static android.support.test.espresso.action.ViewActions.typeText; import static androidx.test.espresso.action.ViewActions.typeText;
import static android.support.test.espresso.assertion.ViewAssertions.doesNotExist; import static androidx.test.espresso.assertion.ViewAssertions.doesNotExist;
import static android.support.test.espresso.assertion.ViewAssertions.matches; import static androidx.test.espresso.assertion.ViewAssertions.matches;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withContentDescription; import static androidx.test.espresso.matcher.ViewMatchers.withContentDescription;
import static android.support.test.espresso.matcher.ViewMatchers.withId; import static androidx.test.espresso.matcher.ViewMatchers.withId;
import static android.support.test.espresso.matcher.ViewMatchers.withText; import static androidx.test.espresso.matcher.ViewMatchers.withText;
import static org.hamcrest.Matchers.allOf; import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.not; import static org.hamcrest.Matchers.not;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
@ -88,7 +90,7 @@ public class MainActivityEspressoTest {
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
SystemAnimations.disableAll(InstrumentationRegistry.getTargetContext()); SystemAnimations.disableAll(ApplicationProvider.getApplicationContext());
// dismiss the ANR or any other system dialogs that might be there // dismiss the ANR or any other system dialogs that might be there
UiObject button = new UiObject(new UiSelector().text("Wait").enabled(true)); UiObject button = new UiObject(new UiSelector().text("Wait").enabled(true));
@ -109,7 +111,7 @@ public class MainActivityEspressoTest {
@AfterClass @AfterClass
public static void classTearDown() { public static void classTearDown() {
SystemAnimations.enableAll(InstrumentationRegistry.getTargetContext()); SystemAnimations.enableAll(ApplicationProvider.getApplicationContext());
} }
public static boolean isEmulator() { public static boolean isEmulator() {

View File

@ -16,11 +16,11 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.support.test.uiautomator.UiDevice; import androidx.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject; import androidx.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException; import androidx.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector; import androidx.test.uiautomator.UiSelector;
import android.support.test.uiautomator.UiWatcher; import androidx.test.uiautomator.UiWatcher;
import android.util.Log; import android.util.Log;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -4,8 +4,8 @@ import android.app.Instrumentation;
import android.content.Context; import android.content.Context;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.support.test.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.AssetUtils; import org.fdroid.fdroid.AssetUtils;

View File

@ -22,9 +22,9 @@ package org.fdroid.fdroid.installer;
import android.app.Instrumentation; import android.app.Instrumentation;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.test.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.AssetUtils; import org.fdroid.fdroid.AssetUtils;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;

View File

@ -1,17 +1,20 @@
package org.fdroid.fdroid.nearby; package org.fdroid.fdroid.nearby;
import android.content.Context; import android.content.Context;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4; import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceListener;
import java.util.concurrent.CountDownLatch; import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import javax.jmdns.ServiceEvent;
import javax.jmdns.ServiceListener;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
@ -23,7 +26,7 @@ public class BonjourManagerTest {
@Test @Test
public void testStartStop() throws InterruptedException { public void testStartStop() throws InterruptedException {
Context context = InstrumentationRegistry.getTargetContext(); Context context = ApplicationProvider.getApplicationContext();
FDroidApp.ipAddressString = LOCALHOST; FDroidApp.ipAddressString = LOCALHOST;
FDroidApp.port = PORT; FDroidApp.port = PORT;
@ -65,7 +68,7 @@ public class BonjourManagerTest {
@Test @Test
public void testRestart() throws InterruptedException { public void testRestart() throws InterruptedException {
Context context = InstrumentationRegistry.getTargetContext(); Context context = ApplicationProvider.getApplicationContext();
FDroidApp.ipAddressString = LOCALHOST; FDroidApp.ipAddressString = LOCALHOST;
FDroidApp.port = PORT; FDroidApp.port = PORT;

View File

@ -4,10 +4,11 @@ import android.content.BroadcastReceiver;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.support.test.InstrumentationRegistry;
import android.support.test.filters.LargeTest; import androidx.test.core.app.ApplicationProvider;
import android.support.test.runner.AndroidJUnit4; import androidx.test.filters.LargeTest;
import android.support.v4.content.LocalBroadcastManager; import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Netstat; import org.fdroid.fdroid.Netstat;
@ -41,7 +42,7 @@ public class LocalHTTPDManagerTest {
@Before @Before
public void setUp() { public void setUp() {
context = InstrumentationRegistry.getTargetContext(); context = ApplicationProvider.getApplicationContext();
lbm = LocalBroadcastManager.getInstance(context); lbm = LocalBroadcastManager.getInstance(context);
FDroidApp.ipAddressString = LOCALHOST; FDroidApp.ipAddressString = LOCALHOST;

View File

@ -6,8 +6,8 @@ import android.content.Intent;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.os.Looper; import android.os.Looper;
import android.support.test.InstrumentationRegistry; import androidx.test.platform.app.InstrumentationRegistry;
import android.support.test.filters.LargeTest; import androidx.test.filters.LargeTest;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.BuildConfig;

View File

@ -21,7 +21,7 @@ package org.fdroid.fdroid.nearby;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
/** /**
* Dummy version for basic app flavor. * Dummy version for basic app flavor.

View File

@ -19,10 +19,10 @@
package org.fdroid.fdroid.views.main; package org.fdroid.fdroid.views.main;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.Fragment; import androidx.fragment.app.Fragment;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.PreferencesFragment; import org.fdroid.fdroid.views.PreferencesFragment;

View File

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android"> xmlns:android="http://schemas.android.com/apk/res/android">
<android.support.v7.preference.PreferenceScreen android:title="@string/about_title"> <PreferenceScreen android:title="@string/about_title">
<intent <intent
android:action="android.intent.action.MAIN" android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId" android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.AboutActivity"/> android:targetClass="org.fdroid.fdroid.AboutActivity"/>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>
<android.support.v7.preference.PreferenceCategory android:title="@string/preference_category__my_apps"> <PreferenceCategory android:title="@string/preference_category__my_apps">
<android.support.v7.preference.PreferenceScreen android:title="@string/preference_manage_installed_apps"> <PreferenceScreen android:title="@string/preference_manage_installed_apps">
<intent <intent
android:action="android.intent.action.MAIN" android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId" android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.installed.InstalledAppsActivity"/> android:targetClass="org.fdroid.fdroid.views.installed.InstalledAppsActivity"/>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>
<android.support.v7.preference.PreferenceScreen <PreferenceScreen
android:title="@string/menu_manage" android:title="@string/menu_manage"
android:summary="@string/repositories_summary"> android:summary="@string/repositories_summary">
<intent <intent
android:action="android.intent.action.MAIN" android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId" android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.ManageReposActivity"/> android:targetClass="org.fdroid.fdroid.views.ManageReposActivity"/>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>
<android.support.v7.preference.PreferenceScreen <PreferenceScreen
android:key="installHistory" android:key="installHistory"
android:visible="false" android:visible="false"
android:title="@string/install_history" android:title="@string/install_history"
@ -33,10 +33,10 @@
android:action="android.intent.action.MAIN" android:action="android.intent.action.MAIN"
android:targetPackage="@string/applicationId" android:targetPackage="@string/applicationId"
android:targetClass="org.fdroid.fdroid.views.InstallHistoryActivity"/> android:targetClass="org.fdroid.fdroid.views.InstallHistoryActivity"/>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/updates"> <PreferenceCategory android:title="@string/updates">
<org.fdroid.fdroid.views.LiveSeekBarPreference <org.fdroid.fdroid.views.LiveSeekBarPreference
android:key="overWifi" android:key="overWifi"
android:title="@string/over_wifi" android:title="@string/over_wifi"
@ -60,9 +60,9 @@
android:title="@string/notify" android:title="@string/notify"
android:defaultValue="true" android:defaultValue="true"
android:key="updateNotify"/> android:key="updateNotify"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/display" <PreferenceCategory android:title="@string/display"
android:key="pref_category_display"> android:key="pref_category_display">
<ListPreference <ListPreference
android:title="@string/pref_language" android:title="@string/pref_language"
@ -73,9 +73,9 @@
android:defaultValue="light" android:defaultValue="light"
android:entries="@array/themeNames" android:entries="@array/themeNames"
android:entryValues="@array/themeValues"/> android:entryValues="@array/themeValues"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/appcompatibility" <PreferenceCategory android:title="@string/appcompatibility"
android:key="pref_category_appcompatibility"> android:key="pref_category_appcompatibility">
<SwitchPreference <SwitchPreference
android:title="@string/show_incompat_versions" android:title="@string/show_incompat_versions"
@ -89,9 +89,9 @@
android:title="@string/force_touch_apps" android:title="@string/force_touch_apps"
android:defaultValue="false" android:defaultValue="false"
android:key="ignoreTouchscreen"/> android:key="ignoreTouchscreen"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory android:title="@string/proxy"> <PreferenceCategory android:title="@string/proxy">
<SwitchPreference <SwitchPreference
android:key="useTor" android:key="useTor"
android:summary="@string/useTorSummary" android:summary="@string/useTorSummary"
@ -111,9 +111,9 @@
android:title="@string/proxy_port" android:title="@string/proxy_port"
android:summary="@string/proxy_port_summary" android:summary="@string/proxy_port_summary"
android:dependency="enableProxy"/> android:dependency="enableProxy"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory <PreferenceCategory
android:key="pref_category_privacy" android:key="pref_category_privacy"
android:title="@string/privacy"> android:title="@string/privacy">
<SwitchPreference <SwitchPreference
@ -126,9 +126,9 @@
android:key="preventScreenshots" android:key="preventScreenshots"
android:summary="@string/preventScreenshots_summary" android:summary="@string/preventScreenshots_summary"
android:title="@string/preventScreenshots_title"/> android:title="@string/preventScreenshots_title"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory <PreferenceCategory
android:title="@string/other" android:title="@string/other"
android:key="pref_category_other"> android:key="pref_category_other">
<ListPreference <ListPreference
@ -177,6 +177,6 @@
android:key="privilegedInstaller" android:key="privilegedInstaller"
android:persistent="false" android:persistent="false"
android:dependency="expert"/> android:dependency="expert"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>

View File

@ -10,7 +10,7 @@ import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.os.Message; import android.os.Message;
import android.os.Process; import android.os.Process;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -7,7 +7,7 @@ import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.os.Message; import android.os.Message;
import android.os.Process; import android.os.Process;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;

View File

@ -6,7 +6,7 @@ import android.os.Handler;
import android.os.HandlerThread; import android.os.HandlerThread;
import android.os.Message; import android.os.Message;
import android.os.Process; import android.os.Process;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.Preferences;

View File

@ -10,8 +10,8 @@ import android.graphics.Bitmap.Config;
import android.graphics.Canvas; import android.graphics.Canvas;
import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;

View File

@ -4,7 +4,7 @@ import android.app.IntentService;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Process; import android.os.Process;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;

View File

@ -28,7 +28,7 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.Process; import android.os.Process;
import android.support.v4.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.IndexUpdater; import org.fdroid.fdroid.IndexUpdater;
import org.fdroid.fdroid.IndexV1Updater; import org.fdroid.fdroid.IndexV1Updater;

View File

@ -8,12 +8,12 @@ import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.LoaderManager; import androidx.loader.app.LoaderManager;
import android.support.v4.content.CursorLoader; import androidx.loader.content.CursorLoader;
import android.support.v4.content.Loader; import androidx.loader.content.Loader;
import android.support.v4.widget.CursorAdapter; import androidx.cursoradapter.widget.CursorAdapter;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.ContextThemeWrapper; import android.view.ContextThemeWrapper;

View File

@ -7,9 +7,9 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiConfiguration;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.v7.widget.SwitchCompat; import androidx.appcompat.widget.SwitchCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.LayoutInflater; import android.view.LayoutInflater;

View File

@ -16,10 +16,10 @@ import android.net.wifi.WifiManager;
import android.os.AsyncTask; import android.os.AsyncTask;
import android.os.Build; import android.os.Build;
import android.os.IBinder; import android.os.IBinder;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import cc.mvdan.accesspoint.WifiApControl; import cc.mvdan.accesspoint.WifiApControl;

View File

@ -12,13 +12,13 @@ import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.LoaderManager; import androidx.loader.app.LoaderManager;
import android.support.v4.content.CursorLoader; import androidx.loader.content.CursorLoader;
import android.support.v4.content.Loader; import androidx.loader.content.Loader;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.v4.widget.CursorAdapter; import androidx.cursoradapter.widget.CursorAdapter;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;

View File

@ -3,8 +3,8 @@ package org.fdroid.fdroid.nearby;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.content.Context; import android.content.Context;
import android.content.res.TypedArray; import android.content.res.TypedArray;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
import android.support.annotation.LayoutRes; import androidx.annotation.LayoutRes;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.widget.RelativeLayout; import android.widget.RelativeLayout;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -17,17 +17,17 @@ import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.IBinder; import android.os.IBinder;
import android.provider.Settings; import android.provider.Settings;
import android.support.annotation.LayoutRes; import androidx.annotation.LayoutRes;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.annotation.StringRes; import androidx.annotation.StringRes;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.v4.view.MenuItemCompat; import androidx.core.view.MenuItemCompat;
import android.support.v7.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.SearchView; import androidx.appcompat.widget.SearchView;
import android.support.v7.widget.SwitchCompat; import androidx.appcompat.widget.SwitchCompat;
import android.support.v7.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
@ -692,6 +692,7 @@ public class SwapWorkflowActivity extends AppCompatActivity {
@Override @Override
public void onActivityResult(int requestCode, int resultCode, Intent intent) { public void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent); IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null) { if (scanResult != null) {
if (scanResult.getContents() != null) { if (scanResult.getContents() != null) {

View File

@ -28,7 +28,7 @@ import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Process; import android.os.Process;
import android.support.v4.provider.DocumentFile; import androidx.documentfile.provider.DocumentFile;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;

View File

@ -7,7 +7,7 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.storage.StorageManager; import android.os.storage.StorageManager;
import android.provider.DocumentsContract; import android.provider.DocumentsContract;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import java.io.File; import java.io.File;
import java.lang.reflect.Array; import java.lang.reflect.Array;

View File

@ -33,8 +33,8 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.views.main.MainActivity; import org.fdroid.fdroid.views.main.MainActivity;

View File

@ -33,8 +33,8 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.views.main.MainActivity; import org.fdroid.fdroid.views.main.MainActivity;

View File

@ -10,8 +10,8 @@ import android.net.wifi.WifiConfiguration;
import android.net.wifi.WifiInfo; import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager; import android.net.wifi.WifiManager;
import android.os.Build; import android.os.Build;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import cc.mvdan.accesspoint.WifiApControl; import cc.mvdan.accesspoint.WifiApControl;

View File

@ -3,7 +3,7 @@ package org.fdroid.fdroid.nearby.peers;
import android.bluetooth.BluetoothClass.Device; import android.bluetooth.BluetoothClass.Device;
import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothDevice;
import android.os.Parcel; import android.os.Parcel;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -2,7 +2,7 @@ package org.fdroid.fdroid.nearby.peers;
import android.net.Uri; import android.net.Uri;
import android.os.Parcel; import android.os.Parcel;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;

View File

@ -1,7 +1,7 @@
package org.fdroid.fdroid.nearby.peers; package org.fdroid.fdroid.nearby.peers;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.DrawableRes; import androidx.annotation.DrawableRes;
/** /**
* TODO This model assumes that "peers" from Bluetooth, Bonjour, and WiFi are * TODO This model assumes that "peers" from Bluetooth, Bonjour, and WiFi are

View File

@ -1,9 +1,9 @@
package org.fdroid.fdroid.panic; package org.fdroid.fdroid.panic;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;

View File

@ -2,8 +2,8 @@ package org.fdroid.fdroid.panic;
import android.content.Context; import android.content.Context;
import android.content.res.Resources; import android.content.res.Resources;
import android.support.v7.preference.CheckBoxPreference; import androidx.preference.CheckBoxPreference;
import android.support.v7.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
import android.util.AttributeSet; import android.util.AttributeSet;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -1,8 +1,8 @@
package org.fdroid.fdroid.panic; package org.fdroid.fdroid.panic;
import android.content.Context; import android.content.Context;
import android.support.v7.preference.Preference; import androidx.preference.Preference;
import android.support.v7.preference.PreferenceViewHolder; import androidx.preference.PreferenceViewHolder;
import android.util.AttributeSet; import android.util.AttributeSet;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -3,7 +3,7 @@ package org.fdroid.fdroid.panic;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
public class ExitActivity extends AppCompatActivity { public class ExitActivity extends AppCompatActivity {

View File

@ -7,8 +7,8 @@ import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo; import android.content.pm.ServiceInfo;
import android.support.v4.app.NotificationManagerCompat; import androidx.core.app.NotificationManagerCompat;
import android.support.v7.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.main.MainActivity; import org.fdroid.fdroid.views.main.MainActivity;

View File

@ -1,9 +1,9 @@
package org.fdroid.fdroid.panic; package org.fdroid.fdroid.panic;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.ActionBar; import androidx.appcompat.app.ActionBar;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.view.MenuItem; import android.view.MenuItem;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -13,15 +13,16 @@ import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.ColorInt; import androidx.annotation.ColorInt;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v14.preference.PreferenceFragment; import androidx.core.content.ContextCompat;
import android.support.v4.content.ContextCompat; import androidx.appcompat.app.AlertDialog;
import android.support.v7.app.AlertDialog; import androidx.preference.CheckBoxPreference;
import android.support.v7.preference.CheckBoxPreference; import androidx.preference.ListPreference;
import android.support.v7.preference.ListPreference; import androidx.preference.Preference;
import android.support.v7.preference.Preference; import androidx.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceCategory; import androidx.preference.PreferenceFragmentCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.TypedValue; import android.util.TypedValue;
import info.guardianproject.panic.Panic; import info.guardianproject.panic.Panic;
@ -33,7 +34,7 @@ import org.fdroid.fdroid.installer.PrivilegedInstaller;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Set; import java.util.Set;
public class PanicPreferencesFragment extends PreferenceFragment public class PanicPreferencesFragment extends PreferenceFragmentCompat
implements SharedPreferences.OnSharedPreferenceChangeListener { implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String PREF_APP = "pref_panic_app"; private static final String PREF_APP = "pref_panic_app";

View File

@ -7,8 +7,8 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.util.Log; import android.util.Log;
import info.guardianproject.panic.Panic; import info.guardianproject.panic.Panic;
import info.guardianproject.panic.PanicResponder; import info.guardianproject.panic.PanicResponder;

View File

@ -1,7 +1,7 @@
package org.fdroid.fdroid.panic; package org.fdroid.fdroid.panic;
import android.app.Activity; import android.app.Activity;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.Preferences;

View File

@ -1,8 +1,8 @@
package org.fdroid.fdroid.panic; package org.fdroid.fdroid.panic;
import android.app.Activity; import android.app.Activity;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.view.View; import android.view.View;
import org.fdroid.fdroid.AppUpdateStatusManager; import org.fdroid.fdroid.AppUpdateStatusManager;
import org.fdroid.fdroid.data.App; import org.fdroid.fdroid.data.App;

View File

@ -25,14 +25,14 @@ import android.database.Cursor;
import android.graphics.LightingColorFilter; import android.graphics.LightingColorFilter;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.v4.app.LoaderManager; import androidx.loader.app.LoaderManager;
import android.support.v4.content.CursorLoader; import androidx.loader.content.CursorLoader;
import android.support.v4.content.Loader; import androidx.loader.content.Loader;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.support.v7.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.view.Menu; import android.view.Menu;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;

View File

@ -3,14 +3,14 @@ package org.fdroid.fdroid.views.main;
import android.content.Intent; import android.content.Intent;
import android.database.Cursor; import android.database.Cursor;
import android.os.Bundle; import android.os.Bundle;
import android.support.design.widget.FloatingActionButton; import com.google.android.material.floatingactionbutton.FloatingActionButton;
import android.support.v4.app.LoaderManager; import androidx.loader.app.LoaderManager;
import android.support.v4.content.CursorLoader; import androidx.loader.content.CursorLoader;
import android.support.v4.content.Loader; import androidx.loader.content.Loader;
import android.support.v4.widget.SwipeRefreshLayout; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.view.View; import android.view.View;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.TextView; import android.widget.TextView;

View File

@ -1,9 +1,9 @@
package org.fdroid.fdroid.views.main; package org.fdroid.fdroid.views.main;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.Fragment; import androidx.fragment.app.Fragment;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;
import org.fdroid.fdroid.views.PreferencesFragment; import org.fdroid.fdroid.views.PreferencesFragment;

View File

@ -13,9 +13,9 @@ import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.storage.StorageManager; import android.os.storage.StorageManager;
import android.os.storage.StorageVolume; import android.os.storage.StorageVolume;
import android.support.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import android.support.v4.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".panic.CalculatorActivity"> tools:context=".panic.CalculatorActivity">
<android.support.v7.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
@ -288,4 +288,4 @@
app:layout_constraintTop_toTopOf="@+id/three" app:layout_constraintTop_toTopOf="@+id/three"
tools:ignore="HardcodedText" /> tools:ignore="HardcodedText" />
</android.support.constraint.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -5,7 +5,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -57,4 +57,4 @@
app:layout_constraintStart_toStartOf="@+id/launcherIcon" app:layout_constraintStart_toStartOf="@+id/launcherIcon"
app:layout_constraintTop_toBottomOf="@+id/launcherIcon" /> app:layout_constraintTop_toBottomOf="@+id/launcherIcon" />
</android.support.constraint.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout <androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -7,12 +7,12 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:id="@+id/swipe_to_refresh"> android:id="@+id/swipe_to_refresh">
<android.support.constraint.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent">
@ -36,7 +36,7 @@
android:visibility="gone" android:visibility="gone"
android:text="@string/categories__empty_state__no_categories" /> android:text="@string/categories__empty_state__no_categories" />
<android.support.v7.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/category_list" android:id="@+id/category_list"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
@ -57,6 +57,6 @@
android:layout_marginEnd="@dimen/fab_margin" android:layout_marginEnd="@dimen/fab_margin"
android:layout_marginRight="@dimen/fab_margin" /> android:layout_marginRight="@dimen/fab_margin" />
</android.support.constraint.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
</android.support.v4.widget.SwipeRefreshLayout> </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
</android.support.design.widget.CoordinatorLayout> </androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
@ -128,4 +128,4 @@
app:layout_constraintTop_toBottomOf="@+id/storage_volume_text" app:layout_constraintTop_toBottomOf="@+id/storage_volume_text"
android:visibility="gone"/> android:visibility="gone"/>
</android.support.constraint.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -6,7 +6,7 @@
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical"> android:orientation="vertical">
<android.support.v7.widget.Toolbar <androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar" android:id="@+id/toolbar"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="match_parent" android:layout_width="match_parent"

View File

@ -54,7 +54,7 @@
</LinearLayout> </LinearLayout>
<android.support.v7.widget.SwitchCompat <androidx.appcompat.widget.SwitchCompat
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:enabled="false" android:enabled="false"
@ -112,7 +112,7 @@
</LinearLayout> </LinearLayout>
<android.support.v7.widget.SwitchCompat <androidx.appcompat.widget.SwitchCompat
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:id="@+id/switch_wifi"/> android:id="@+id/switch_wifi"/>

View File

@ -1,19 +1,19 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.preference.PreferenceScreen <PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"> xmlns:tools="http://schemas.android.com/tools">
<android.support.v7.preference.CheckBoxPreference <CheckBoxPreference
android:defaultValue="true" android:defaultValue="true"
android:key="pref_panic_exit" android:key="pref_panic_exit"
android:summary="@string/panic_exit_summary" android:summary="@string/panic_exit_summary"
android:title="@string/panic_exit_title"/> android:title="@string/panic_exit_title"/>
<android.support.v7.preference.PreferenceCategory <PreferenceCategory
android:key="pref_panic_destructive_actions" android:key="pref_panic_destructive_actions"
android:title="@string/panic_destructive_actions"> android:title="@string/panic_destructive_actions">
<android.support.v7.preference.ListPreference <ListPreference
android:key="pref_panic_app" android:key="pref_panic_app"
android:summary="@string/panic_app_setting_summary" android:summary="@string/panic_app_setting_summary"
android:title="@string/panic_app_setting_title" android:title="@string/panic_app_setting_title"
@ -33,12 +33,12 @@
android:summary="@string/panic_reset_repos_summary" android:summary="@string/panic_reset_repos_summary"
android:title="@string/panic_reset_repos_title"/> android:title="@string/panic_reset_repos_title"/>
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
<android.support.v7.preference.PreferenceCategory <PreferenceCategory
android:key="pref_panic_apps_to_uninstall" android:key="pref_panic_apps_to_uninstall"
android:title="@string/panic_apps_to_uninstall"> android:title="@string/panic_apps_to_uninstall">
</android.support.v7.preference.PreferenceCategory> </PreferenceCategory>
</android.support.v7.preference.PreferenceScreen> </PreferenceScreen>

View File

@ -26,11 +26,6 @@
package="org.fdroid.fdroid" package="org.fdroid.fdroid"
android:installLocation="auto"> android:installLocation="auto">
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="25"
/>
<supports-screens <supports-screens
android:anyDensity="true" android:anyDensity="true"
android:largeScreens="true" android:largeScreens="true"
@ -124,7 +119,7 @@
android:resource="@xml/apk_file_provider"/> android:resource="@xml/apk_file_provider"/>
</provider> </provider>
<provider <provider
android:name="android.support.v4.content.FileProvider" android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.installer" android:authorities="${applicationId}.installer"
android:exported="false" android:exported="false"
android:grantUriPermissions="true"> android:grantUriPermissions="true">

View File

@ -25,7 +25,7 @@ import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.Fragment; import androidx.fragment.app.Fragment;
import android.util.Log; import android.util.Log;
import java.util.Arrays; import java.util.Arrays;

View File

@ -1,8 +1,8 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.os.Bundle; import android.os.Bundle;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import android.view.View; import android.view.View;
import android.widget.TextView; import android.widget.TextView;

View File

@ -5,8 +5,8 @@ import android.content.ComponentName;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.data.Repo; import org.fdroid.fdroid.data.Repo;

View File

@ -9,10 +9,10 @@ import android.content.SharedPreferences;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.TaskStackBuilder; import androidx.core.app.TaskStackBuilder;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import org.fdroid.fdroid.data.Apk; import org.fdroid.fdroid.data.Apk;
import org.fdroid.fdroid.data.App; import org.fdroid.fdroid.data.App;
import org.fdroid.fdroid.data.AppProvider; import org.fdroid.fdroid.data.AppProvider;

View File

@ -10,8 +10,8 @@ import android.content.Intent;
import android.os.Build; import android.os.Build;
import android.os.Process; import android.os.Process;
import android.os.SystemClock; import android.os.SystemClock;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.v4.app.JobIntentService; import androidx.core.app.JobIntentService;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;
import org.fdroid.fdroid.installer.ApkCache; import org.fdroid.fdroid.installer.ApkCache;

View File

@ -1,17 +1,18 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.annotation.TargetApi;
import android.system.ErrnoException; import android.system.ErrnoException;
import android.system.Os; import android.system.Os;
import android.system.StructStat; import android.system.StructStat;
import androidx.annotation.RequiresApi;
import java.io.File; import java.io.File;
/** /**
* Helper class to prevent {@link VerifyError}s from occurring in {@link CleanCacheService#clearOldFiles(File, long)} * Helper class to prevent {@link VerifyError}s from occurring in {@link CleanCacheService#clearOldFiles(File, long)}
* due to the fact that {@link Os} was only introduced in API 21. * due to the fact that {@link Os} was only introduced in API 21.
*/ */
@TargetApi(21) @RequiresApi(21)
class CleanCacheService21 { class CleanCacheService21 {
static void deleteIfOld(File file, long olderThan) { static void deleteIfOld(File file, long olderThan) {
if (file == null || !file.exists()) { if (file == null || !file.exists()) {

View File

@ -4,7 +4,7 @@ import android.content.Context;
import android.content.pm.FeatureInfo; import android.content.pm.FeatureInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.os.Build; import android.os.Build;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import org.fdroid.fdroid.compat.SupportedArchitectures; import org.fdroid.fdroid.compat.SupportedArchitectures;
import org.fdroid.fdroid.data.Apk; import org.fdroid.fdroid.data.Apk;

View File

@ -3,9 +3,9 @@ package org.fdroid.fdroid;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.Process; import android.os.Process;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.v4.app.JobIntentService; import androidx.core.app.JobIntentService;
import android.support.v4.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.util.Log; import android.util.Log;
import org.apache.commons.io.FileUtils; import org.apache.commons.io.FileUtils;

View File

@ -40,8 +40,8 @@ import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.StrictMode; import android.os.StrictMode;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.util.LongSparseArray; import androidx.collection.LongSparseArray;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Base64; import android.util.Base64;
import android.util.Log; import android.util.Log;

View File

@ -27,7 +27,7 @@ import android.content.ContentResolver;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.data.Apk; import org.fdroid.fdroid.data.Apk;

View File

@ -25,7 +25,7 @@ package org.fdroid.fdroid;
import android.content.ContentValues; import android.content.ContentValues;
import android.content.Context; import android.content.Context;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect;

View File

@ -6,7 +6,7 @@ import android.nfc.NfcAdapter;
import android.os.Build; import android.os.Build;
import android.os.Bundle; import android.os.Bundle;
import android.provider.Settings; import android.provider.Settings;
import android.support.v7.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
// aka Android 4.0 aka Ice Cream Sandwich // aka Android 4.0 aka Ice Cream Sandwich
public class NfcNotEnabledActivity extends AppCompatActivity { public class NfcNotEnabledActivity extends AppCompatActivity {

View File

@ -12,10 +12,10 @@ import android.graphics.Point;
import android.graphics.Typeface; import android.graphics.Typeface;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Build; import android.os.Build;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import android.support.v4.app.NotificationManagerCompat; import androidx.core.app.NotificationManagerCompat;
import android.support.v4.content.ContextCompat; import androidx.core.content.ContextCompat;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
import android.text.Spanned; import android.text.Spanned;
import android.text.TextUtils; import android.text.TextUtils;

View File

@ -28,7 +28,7 @@ import android.content.SharedPreferences;
import android.net.ConnectivityManager; import android.net.ConnectivityManager;
import android.net.NetworkInfo; import android.net.NetworkInfo;
import android.os.Build; import android.os.Build;
import android.support.v7.preference.PreferenceManager; import androidx.preference.PreferenceManager;
import android.text.format.DateUtils; import android.text.format.DateUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.installer.PrivilegedInstaller; import org.fdroid.fdroid.installer.PrivilegedInstaller;
@ -239,7 +239,7 @@ public final class Preferences implements SharedPreferences.OnSharedPreferenceCh
/** /**
* The original preference was a {@link String}, now it must be a {@link Integer} * The original preference was a {@link String}, now it must be a {@link Integer}
* since {@link android.support.v7.preference.SeekBarPreference} uses it * since {@link androidx.preference.SeekBarPreference} uses it
* directly. * directly.
*/ */
private boolean migrateUpdateIntervalStringToInt(SharedPreferences.Editor editor) { private boolean migrateUpdateIntervalStringToInt(SharedPreferences.Editor editor) {

View File

@ -1,6 +1,6 @@
package org.fdroid.fdroid; package org.fdroid.fdroid;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import java.io.BufferedInputStream; import java.io.BufferedInputStream;
import java.io.IOException; import java.io.IOException;

View File

@ -6,7 +6,7 @@ import android.app.job.JobService;
/** /**
* Interface between the new {@link android.app.job.JobScheduler} API and * Interface between the new {@link android.app.job.JobScheduler} API and
* {@link UpdateService}, which is based on {@link android.support.v4.app.JobIntentService}. * {@link UpdateService}, which is based on {@link androidx.core.app.JobIntentService}.
* *
* @see <a href="https://developer.android.com/about/versions/android-5.0.html#Power">Project Volta: Scheduling jobs</a> * @see <a href="https://developer.android.com/about/versions/android-5.0.html#Power">Project Volta: Scheduling jobs</a>
*/ */

View File

@ -34,10 +34,10 @@ import android.os.AsyncTask;
import android.os.Build; import android.os.Build;
import android.os.Process; import android.os.Process;
import android.os.SystemClock; import android.os.SystemClock;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.v4.app.JobIntentService; import androidx.core.app.JobIntentService;
import android.support.v4.app.NotificationCompat; import androidx.core.app.NotificationCompat;
import android.support.v4.content.LocalBroadcastManager; import androidx.localbroadcastmanager.content.LocalBroadcastManager;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.widget.Toast; import android.widget.Toast;

View File

@ -32,10 +32,10 @@ import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.StatFs; import android.os.StatFs;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.annotation.RequiresApi; import androidx.annotation.RequiresApi;
import android.support.v4.widget.SwipeRefreshLayout; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import android.text.Editable; import android.text.Editable;
import android.text.Html; import android.text.Html;
import android.text.SpannableStringBuilder; import android.text.SpannableStringBuilder;
@ -864,7 +864,7 @@ public final class Utils {
* Converts a {@code long} bytes value, like from {@link File#length()}, to * Converts a {@code long} bytes value, like from {@link File#length()}, to
* an {@code int} value that is kilobytes, suitable for things like * an {@code int} value that is kilobytes, suitable for things like
* {@link android.widget.ProgressBar#setMax(int)} or * {@link android.widget.ProgressBar#setMax(int)} or
* {@link android.support.v4.app.NotificationCompat.Builder#setProgress(int, int, boolean)} * {@link androidx.core.app.NotificationCompat.Builder#setProgress(int, int, boolean)}
*/ */
public static int bytesToKb(long bytes) { public static int bytesToKb(long bytes) {
return (int) (bytes / 1024); return (int) (bytes / 1024);
@ -874,7 +874,7 @@ public final class Utils {
* Converts two {@code long} bytes values, like from {@link File#length()}, to * Converts two {@code long} bytes values, like from {@link File#length()}, to
* an {@code int} value that is a percentage, suitable for things like * an {@code int} value that is a percentage, suitable for things like
* {@link android.widget.ProgressBar#setMax(int)} or * {@link android.widget.ProgressBar#setMax(int)} or
* {@link android.support.v4.app.NotificationCompat.Builder#setProgress(int, int, boolean)}. * {@link androidx.core.app.NotificationCompat.Builder#setProgress(int, int, boolean)}.
* {@code total} must never be zero! * {@code total} must never be zero!
*/ */
public static int getPercent(long current, long total) { public static int getPercent(long current, long total) {

View File

@ -2,7 +2,7 @@ package org.fdroid.fdroid.acra;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.os.Bundle; import android.os.Bundle;
import android.support.v7.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import android.widget.EditText; import android.widget.EditText;
import org.acra.dialog.BaseCrashReportDialog; import org.acra.dialog.BaseCrashReportDialog;

View File

@ -4,7 +4,7 @@ package org.fdroid.fdroid.acra;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.acra.ReportField; import org.acra.ReportField;
import org.acra.collections.ImmutableSet; import org.acra.collections.ImmutableSet;
import org.acra.collector.CrashReportData; import org.acra.collector.CrashReportData;

View File

@ -1,7 +1,7 @@
package org.fdroid.fdroid.acra; package org.fdroid.fdroid.acra;
import android.content.Context; import android.content.Context;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.acra.config.ACRAConfiguration; import org.acra.config.ACRAConfiguration;
import org.acra.sender.ReportSender; import org.acra.sender.ReportSender;

View File

@ -5,6 +5,8 @@ import android.os.Build;
import android.system.ErrnoException; import android.system.ErrnoException;
import android.util.Log; import android.util.Log;
import androidx.annotation.RequiresApi;
import org.fdroid.fdroid.FDroidApp; import org.fdroid.fdroid.FDroidApp;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.SanitizedFile; import org.fdroid.fdroid.data.SanitizedFile;
@ -40,6 +42,7 @@ public class FileCompat {
* not attempt to load this class at runtime. Otherwise, using the Os.symlink method will cause * not attempt to load this class at runtime. Otherwise, using the Os.symlink method will cause
* a VerifyError to be thrown at runtime when the FileCompat class is first used. * a VerifyError to be thrown at runtime when the FileCompat class is first used.
*/ */
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
private static class Symlink21 { private static class Symlink21 {
@TargetApi(21) @TargetApi(21)

View File

@ -10,8 +10,8 @@ import android.os.Build;
import android.os.Environment; import android.os.Environment;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.webkit.MimeTypeMap; import android.webkit.MimeTypeMap;
import com.fasterxml.jackson.annotation.JacksonInject; import com.fasterxml.jackson.annotation.JacksonInject;

View File

@ -6,8 +6,8 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.Schema.AntiFeatureTable; import org.fdroid.fdroid.data.Schema.AntiFeatureTable;

View File

@ -15,8 +15,8 @@ import android.os.Environment;
import android.os.LocaleList; import android.os.LocaleList;
import android.os.Parcel; import android.os.Parcel;
import android.os.Parcelable; import android.os.Parcelable;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;

View File

@ -5,8 +5,8 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import org.fdroid.fdroid.data.Schema.AppPrefsTable; import org.fdroid.fdroid.data.Schema.AppPrefsTable;
import org.fdroid.fdroid.data.Schema.AppPrefsTable.Cols; import org.fdroid.fdroid.data.Schema.AppPrefsTable.Cols;

View File

@ -6,8 +6,8 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.Preferences; import org.fdroid.fdroid.Preferences;

View File

@ -5,7 +5,7 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.AppMetadataTable;
import org.fdroid.fdroid.data.Schema.CatJoinTable; import org.fdroid.fdroid.data.Schema.CatJoinTable;
import org.fdroid.fdroid.data.Schema.CategoryTable; import org.fdroid.fdroid.data.Schema.CategoryTable;

View File

@ -8,7 +8,7 @@ import android.content.OperationApplicationException;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.BuildConfig;

View File

@ -9,8 +9,8 @@ import android.content.pm.PackageManager;
import android.content.res.Resources; import android.content.res.Resources;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.R; import org.fdroid.fdroid.R;

View File

@ -7,9 +7,9 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.net.Uri; import android.net.Uri;
import android.os.Process; import android.os.Process;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.support.v4.app.JobIntentService; import androidx.core.app.JobIntentService;
import android.util.Log; import android.util.Log;
import org.acra.ACRA; import org.acra.ACRA;
import org.fdroid.fdroid.AppUpdateStatusManager; import org.fdroid.fdroid.AppUpdateStatusManager;

View File

@ -5,7 +5,7 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.fdroid.fdroid.data.Schema.PackageTable; import org.fdroid.fdroid.data.Schema.PackageTable;
import org.fdroid.fdroid.data.Schema.PackageTable.Cols; import org.fdroid.fdroid.data.Schema.PackageTable.Cols;

View File

@ -1,6 +1,6 @@
package org.fdroid.fdroid.data; package org.fdroid.fdroid.data;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import java.util.ArrayList; import java.util.ArrayList;

View File

@ -6,7 +6,7 @@ import android.content.Context;
import android.content.OperationApplicationException; import android.content.OperationApplicationException;
import android.net.Uri; import android.net.Uri;
import android.os.RemoteException; import android.os.RemoteException;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.fdroid.fdroid.CompatibilityChecker; import org.fdroid.fdroid.CompatibilityChecker;
import org.fdroid.fdroid.IndexUpdater; import org.fdroid.fdroid.IndexUpdater;

View File

@ -7,8 +7,8 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.Cursor; import android.database.Cursor;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import org.fdroid.fdroid.AppUpdateStatusManager; import org.fdroid.fdroid.AppUpdateStatusManager;

View File

@ -19,7 +19,7 @@
package org.fdroid.fdroid.data; package org.fdroid.fdroid.data;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import java.util.Arrays; import java.util.Arrays;

View File

@ -21,8 +21,8 @@ package org.fdroid.fdroid.data;
import android.Manifest; import android.Manifest;
import android.os.Build; import android.os.Build;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.support.annotation.Nullable; import androidx.annotation.Nullable;
import org.fdroid.fdroid.Utils; import org.fdroid.fdroid.Utils;
import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable;
import org.xml.sax.Attributes; import org.xml.sax.Attributes;

View File

@ -5,7 +5,7 @@ import android.content.Context;
import android.content.UriMatcher; import android.content.UriMatcher;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable;
import org.fdroid.fdroid.data.Schema.ApkTable.Cols; import org.fdroid.fdroid.data.Schema.ApkTable.Cols;

View File

@ -7,7 +7,7 @@ import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteException;
import android.net.Uri; import android.net.Uri;
import android.support.annotation.NonNull; import androidx.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import org.fdroid.fdroid.data.Schema.ApkTable; import org.fdroid.fdroid.data.Schema.ApkTable;
import org.fdroid.fdroid.data.Schema.AppMetadataTable; import org.fdroid.fdroid.data.Schema.AppMetadataTable;

View File

@ -24,7 +24,7 @@ import android.content.Intent;
import android.content.pm.PackageInfo; import android.content.pm.PackageInfo;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.support.v4.content.FileProvider; import androidx.core.content.FileProvider;
import org.fdroid.fdroid.BuildConfig; import org.fdroid.fdroid.BuildConfig;
import org.fdroid.fdroid.data.Apk; import org.fdroid.fdroid.data.Apk;
import org.fdroid.fdroid.data.SanitizedFile; import org.fdroid.fdroid.data.SanitizedFile;

Some files were not shown because too many files have changed in this diff Show More