From: Tobias Brunner Date: Mon, 12 Jul 2021 13:53:42 +0000 (+0200) Subject: android: Replace deprecated FileObserver() constructor with newer SDKs X-Git-Tag: android-2.3.3^2~7 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=c976165533f2619afe0a97c314643c593dfbb4ad;p=thirdparty%2Fstrongswan.git android: Replace deprecated FileObserver() constructor with newer SDKs --- diff --git a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/LogFragment.java b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/LogFragment.java index f6052f62fb..52f093c398 100644 --- a/src/frontends/android/app/src/main/java/org/strongswan/android/ui/LogFragment.java +++ b/src/frontends/android/app/src/main/java/org/strongswan/android/ui/LogFragment.java @@ -16,6 +16,7 @@ package org.strongswan.android.ui; import android.content.Context; +import android.os.Build; import android.os.Bundle; import android.os.FileObserver; import android.os.Handler; @@ -37,6 +38,7 @@ import java.io.StringReader; import java.util.ArrayList; import androidx.annotation.NonNull; +import androidx.annotation.RequiresApi; import androidx.fragment.app.Fragment; public class LogFragment extends Fragment @@ -58,7 +60,15 @@ public class LogFragment extends Fragment mLogHandler = new Handler(Looper.getMainLooper()); - mDirectoryObserver = new LogDirectoryObserver(getActivity().getFilesDir().getAbsolutePath()); + File logdir = getActivity().getFilesDir(); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) + { + mDirectoryObserver = new LogDirectoryObserver(logdir); + } + else + { + mDirectoryObserver = new LogDirectoryObserver(logdir.getAbsolutePath()); + } } @Override @@ -224,14 +234,20 @@ public class LogFragment extends Fragment */ private class LogDirectoryObserver extends FileObserver { - private final File mFile; - private long mSize; + private static final int mMask = FileObserver.CREATE | FileObserver.MODIFY | FileObserver.DELETE; + private final File mFile = new File(mLogFilePath); + private long mSize = mFile.length(); + @SuppressWarnings("deprecation") public LogDirectoryObserver(String path) { - super(path, FileObserver.CREATE | FileObserver.MODIFY | FileObserver.DELETE); - mFile = new File(mLogFilePath); - mSize = mFile.length(); + super(path, mMask); + } + + @RequiresApi(api = Build.VERSION_CODES.Q) + public LogDirectoryObserver(File path) + { + super(path, mMask); } @Override