diff --git a/app/build.gradle b/app/build.gradle
index 5de79861..448312c9 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,8 +1,9 @@
apply plugin: 'com.android.application'
+
android {
- compileSdkVersion rootProject.ext.compileSdkVersion
+ compileSdkVersion 30
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
@@ -11,7 +12,7 @@ android {
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0.0"
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
vectorDrawables.useSupportLibrary = true
multiDexEnabled true
}
@@ -41,15 +42,16 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
+ implementation 'com.google.android.material:material:1.2.0-alpha06'
implementation "com.google.code.gson:gson:$rootProject.gsonLibraryVersion"
- implementation "com.android.support:support-annotations:$rootProject.supportLibraryVersion"
- implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
+ implementation 'androidx.annotation:annotation:1.0.0'
+ implementation 'androidx.appcompat:appcompat:1.0.0'
implementation "com.takisoft.fix:preference-v7:$rootProject.prefFixLibraryVersion"
- implementation "com.android.support:design:$rootProject.supportLibraryVersion"
- implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
- implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion"
- implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
- implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
+ implementation 'com.google.android.material:material:1.0.0'
+ implementation 'androidx.legacy:legacy-support-v4:1.0.0'
+ implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
+ implementation 'androidx.cardview:cardview:1.0.0'
+ implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation "com.github.medyo:android-about-page:$rootProject.aboutPageLibraryVersion"
implementation "com.github.iamareebjamal:jsyn:$rootProject.jsynLibraryVersion"
implementation "com.illposed.osc:javaosc-core:$rootProject.javaOscLibraryVersion"
@@ -69,6 +71,11 @@ dependencies {
}
// Test
testImplementation "junit:junit:$rootProject.junitVersion"
- androidTestImplementation "com.android.support.test:runner:$rootProject.testRunnerRulesVersion"
- androidTestImplementation "com.android.support.test.espresso:espresso-core:$rootProject.espressoVersion"
+ androidTestImplementation 'androidx.test.ext:junit:1.1.1'
+ androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
+ implementation "androidx.core:core-ktx:+"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+}
+repositories {
+ mavenCentral()
}
diff --git a/app/src/androidTest/java/io/neurolab/ExampleInstrumentedTest.java b/app/src/androidTest/java/io/neurolab/ExampleInstrumentedTest.java
index d248c161..467bc5bd 100644
--- a/app/src/androidTest/java/io/neurolab/ExampleInstrumentedTest.java
+++ b/app/src/androidTest/java/io/neurolab/ExampleInstrumentedTest.java
@@ -1,8 +1,8 @@
package io.neurolab;
import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
import org.junit.Test;
import org.junit.runner.RunWith;
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0d9264c2..a0987eef 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -78,7 +78,7 @@
diff --git a/app/src/main/java/io/neurolab/activities/AboutUsActivity.java b/app/src/main/java/io/neurolab/activities/AboutUsActivity.java
index 66db2f15..f21b7eb9 100644
--- a/app/src/main/java/io/neurolab/activities/AboutUsActivity.java
+++ b/app/src/main/java/io/neurolab/activities/AboutUsActivity.java
@@ -3,8 +3,8 @@
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.app.AppCompatDelegate;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
diff --git a/app/src/main/java/io/neurolab/activities/DataLoggerActivity.java b/app/src/main/java/io/neurolab/activities/DataLoggerActivity.java
index b9782a93..a37750e7 100644
--- a/app/src/main/java/io/neurolab/activities/DataLoggerActivity.java
+++ b/app/src/main/java/io/neurolab/activities/DataLoggerActivity.java
@@ -4,9 +4,9 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.Environment;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
diff --git a/app/src/main/java/io/neurolab/activities/DeviceInstructionsActivity.java b/app/src/main/java/io/neurolab/activities/DeviceInstructionsActivity.java
index aaa99295..218e82ac 100644
--- a/app/src/main/java/io/neurolab/activities/DeviceInstructionsActivity.java
+++ b/app/src/main/java/io/neurolab/activities/DeviceInstructionsActivity.java
@@ -1,8 +1,8 @@
package io.neurolab.activities;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
import io.neurolab.R;
diff --git a/app/src/main/java/io/neurolab/activities/FocusParentActivity.java b/app/src/main/java/io/neurolab/activities/FocusParentActivity.java
index 6d741ff4..970e8763 100644
--- a/app/src/main/java/io/neurolab/activities/FocusParentActivity.java
+++ b/app/src/main/java/io/neurolab/activities/FocusParentActivity.java
@@ -2,8 +2,8 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v7.app.AppCompatActivity;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import androidx.appcompat.app.AppCompatActivity;
import io.neurolab.R;
import io.neurolab.fragments.FocusVisualFragment;
diff --git a/app/src/main/java/io/neurolab/activities/MeditationActivity.java b/app/src/main/java/io/neurolab/activities/MeditationActivity.java
index 2f0f2bc4..35270693 100644
--- a/app/src/main/java/io/neurolab/activities/MeditationActivity.java
+++ b/app/src/main/java/io/neurolab/activities/MeditationActivity.java
@@ -3,7 +3,7 @@
import android.annotation.TargetApi;
import android.os.Bundle;
import android.support.v4.media.session.PlaybackStateCompat;
-import android.support.v7.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.util.TypedValue;
import android.view.View;
diff --git a/app/src/main/java/io/neurolab/activities/MeditationHome.java b/app/src/main/java/io/neurolab/activities/MeditationHome.java
index 49d7d3d7..ed1cb903 100644
--- a/app/src/main/java/io/neurolab/activities/MeditationHome.java
+++ b/app/src/main/java/io/neurolab/activities/MeditationHome.java
@@ -2,8 +2,8 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.CardView;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.cardview.widget.CardView;
import io.neurolab.R;
import io.neurolab.main.NeuroLab;
diff --git a/app/src/main/java/io/neurolab/activities/MeditationListActivity.java b/app/src/main/java/io/neurolab/activities/MeditationListActivity.java
index 39b8adcd..4253b2b5 100644
--- a/app/src/main/java/io/neurolab/activities/MeditationListActivity.java
+++ b/app/src/main/java/io/neurolab/activities/MeditationListActivity.java
@@ -2,9 +2,9 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
import android.util.TypedValue;
import java.lang.reflect.Field;
diff --git a/app/src/main/java/io/neurolab/activities/MemoryGraphParent.java b/app/src/main/java/io/neurolab/activities/MemoryGraphParent.java
index 9112b538..23f249bf 100644
--- a/app/src/main/java/io/neurolab/activities/MemoryGraphParent.java
+++ b/app/src/main/java/io/neurolab/activities/MemoryGraphParent.java
@@ -1,10 +1,10 @@
package io.neurolab.activities;
import android.os.Bundle;
-import android.support.design.widget.BottomNavigationView;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v7.app.AppCompatActivity;
+import com.google.android.material.bottomnavigation.BottomNavigationView;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.appcompat.app.AppCompatActivity;
import io.neurolab.R;
import io.neurolab.fragments.MemoryGraphFragment;
diff --git a/app/src/main/java/io/neurolab/activities/OnBoardingActivity.java b/app/src/main/java/io/neurolab/activities/OnBoardingActivity.java
index d3d88073..aee6e06e 100644
--- a/app/src/main/java/io/neurolab/activities/OnBoardingActivity.java
+++ b/app/src/main/java/io/neurolab/activities/OnBoardingActivity.java
@@ -3,9 +3,9 @@
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.support.v4.content.ContextCompat;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+import androidx.core.content.ContextCompat;
import android.view.Window;
import android.view.WindowManager;
diff --git a/app/src/main/java/io/neurolab/activities/PinLayoutActivity.java b/app/src/main/java/io/neurolab/activities/PinLayoutActivity.java
index e3737176..ac3f8d12 100644
--- a/app/src/main/java/io/neurolab/activities/PinLayoutActivity.java
+++ b/app/src/main/java/io/neurolab/activities/PinLayoutActivity.java
@@ -6,9 +6,9 @@
import android.graphics.Matrix;
import android.graphics.PointF;
import android.os.Bundle;
-import android.support.v4.content.res.ResourcesCompat;
-import android.support.v7.app.AlertDialog;
-import android.support.v7.app.AppCompatActivity;
+import androidx.core.content.res.ResourcesCompat;
+import androidx.appcompat.app.AlertDialog;
+import androidx.appcompat.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
diff --git a/app/src/main/java/io/neurolab/activities/ProgramModeActivity.java b/app/src/main/java/io/neurolab/activities/ProgramModeActivity.java
index b324604e..85d3ea84 100644
--- a/app/src/main/java/io/neurolab/activities/ProgramModeActivity.java
+++ b/app/src/main/java/io/neurolab/activities/ProgramModeActivity.java
@@ -2,8 +2,8 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AppCompatActivity;
+import androidx.fragment.app.Fragment;
+import androidx.appcompat.app.AppCompatActivity;
import android.view.WindowManager;
import io.neurolab.R;
diff --git a/app/src/main/java/io/neurolab/activities/RelaxParentActivity.java b/app/src/main/java/io/neurolab/activities/RelaxParentActivity.java
index fbaac633..e7479c28 100644
--- a/app/src/main/java/io/neurolab/activities/RelaxParentActivity.java
+++ b/app/src/main/java/io/neurolab/activities/RelaxParentActivity.java
@@ -2,8 +2,8 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.design.widget.FloatingActionButton;
-import android.support.v7.app.AppCompatActivity;
+import com.google.android.material.floatingactionbutton.FloatingActionButton;
+import androidx.appcompat.app.AppCompatActivity;
import io.neurolab.R;
import io.neurolab.fragments.RelaxVisualFragment;
diff --git a/app/src/main/java/io/neurolab/activities/SettingsActivity.java b/app/src/main/java/io/neurolab/activities/SettingsActivity.java
index 23878ddc..bc1faa21 100644
--- a/app/src/main/java/io/neurolab/activities/SettingsActivity.java
+++ b/app/src/main/java/io/neurolab/activities/SettingsActivity.java
@@ -2,9 +2,9 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentTransaction;
-import android.support.v7.app.AppCompatActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.appcompat.app.AppCompatActivity;
import io.neurolab.R;
import io.neurolab.fragments.ConfigFragment;
diff --git a/app/src/main/java/io/neurolab/activities/ShareDataActivity.java b/app/src/main/java/io/neurolab/activities/ShareDataActivity.java
index b06d234d..af2d50b8 100644
--- a/app/src/main/java/io/neurolab/activities/ShareDataActivity.java
+++ b/app/src/main/java/io/neurolab/activities/ShareDataActivity.java
@@ -8,8 +8,8 @@
import android.os.Bundle;
import android.os.Environment;
import android.os.StrictMode;
-import android.support.v4.content.FileProvider;
-import android.support.v7.app.AppCompatActivity;
+import androidx.core.content.FileProvider;
+import androidx.appcompat.app.AppCompatActivity;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.AdapterView;
diff --git a/app/src/main/java/io/neurolab/activities/TestModeActivity.java b/app/src/main/java/io/neurolab/activities/TestModeActivity.java
index 39006fe6..13503910 100644
--- a/app/src/main/java/io/neurolab/activities/TestModeActivity.java
+++ b/app/src/main/java/io/neurolab/activities/TestModeActivity.java
@@ -8,8 +8,8 @@
import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.preference.PreferenceManager;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AppCompatActivity;
+import com.google.android.material.snackbar.Snackbar;
+import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
diff --git a/app/src/main/java/io/neurolab/adapters/DataLoggerListAdapter.java b/app/src/main/java/io/neurolab/adapters/DataLoggerListAdapter.java
index 6e249041..9be7b0c1 100644
--- a/app/src/main/java/io/neurolab/adapters/DataLoggerListAdapter.java
+++ b/app/src/main/java/io/neurolab/adapters/DataLoggerListAdapter.java
@@ -5,9 +5,9 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.CardView;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.cardview.widget.CardView;
+import androidx.recyclerview.widget.RecyclerView;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
diff --git a/app/src/main/java/io/neurolab/adapters/MeditationListAdapter.java b/app/src/main/java/io/neurolab/adapters/MeditationListAdapter.java
index 494fb849..016b555b 100644
--- a/app/src/main/java/io/neurolab/adapters/MeditationListAdapter.java
+++ b/app/src/main/java/io/neurolab/adapters/MeditationListAdapter.java
@@ -2,8 +2,8 @@
import android.content.Context;
import android.content.Intent;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/io/neurolab/communication/bluetooth/BluetoothTestActivity.java b/app/src/main/java/io/neurolab/communication/bluetooth/BluetoothTestActivity.java
index 342e302c..41b92c48 100644
--- a/app/src/main/java/io/neurolab/communication/bluetooth/BluetoothTestActivity.java
+++ b/app/src/main/java/io/neurolab/communication/bluetooth/BluetoothTestActivity.java
@@ -8,8 +8,8 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
diff --git a/app/src/main/java/io/neurolab/fragments/ConfigFragment.java b/app/src/main/java/io/neurolab/fragments/ConfigFragment.java
index 3d4ae586..f71773be 100644
--- a/app/src/main/java/io/neurolab/fragments/ConfigFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/ConfigFragment.java
@@ -2,10 +2,10 @@
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.v14.preference.SwitchPreference;
-import android.support.v7.preference.CheckBoxPreference;
-import android.support.v7.preference.Preference;
-import android.support.v7.preference.PreferenceFragmentCompat;
+import androidx.preference.SwitchPreference;
+import androidx.preference.CheckBoxPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceFragmentCompat;
import android.widget.Toast;
import io.neurolab.R;
diff --git a/app/src/main/java/io/neurolab/fragments/FocusVisualFragment.java b/app/src/main/java/io/neurolab/fragments/FocusVisualFragment.java
index b8dc10ce..c5515b00 100644
--- a/app/src/main/java/io/neurolab/fragments/FocusVisualFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/FocusVisualFragment.java
@@ -14,10 +14,10 @@
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.Snackbar;
-import android.support.v7.app.AlertDialog;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.snackbar.Snackbar;
+import androidx.appcompat.app.AlertDialog;
import android.view.Display;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -28,6 +28,8 @@
import android.view.ViewGroup;
import android.widget.Toast;
+import androidx.fragment.app.Fragment;
+
import com.opencsv.CSVReader;
import com.opencsv.exceptions.CsvValidationException;
@@ -52,7 +54,7 @@
import static android.app.Activity.RESULT_OK;
import static io.neurolab.utilities.FilePathUtil.LOG_FILE_KEY;
-public class FocusVisualFragment extends android.support.v4.app.Fragment {
+public class FocusVisualFragment extends Fragment {
private static final int PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE_RESULT = 1;
private boolean permission = false;
diff --git a/app/src/main/java/io/neurolab/fragments/MemoryGraphFragment.java b/app/src/main/java/io/neurolab/fragments/MemoryGraphFragment.java
index e5f2ebd4..de156996 100644
--- a/app/src/main/java/io/neurolab/fragments/MemoryGraphFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/MemoryGraphFragment.java
@@ -11,11 +11,11 @@
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Environment;
-import android.support.annotation.NonNull;
-import android.support.annotation.Nullable;
-import android.support.design.widget.Snackbar;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AlertDialog;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import com.google.android.material.snackbar.Snackbar;
+import androidx.fragment.app.Fragment;
+import androidx.appcompat.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
diff --git a/app/src/main/java/io/neurolab/fragments/NeuroSettingsFragment.java b/app/src/main/java/io/neurolab/fragments/NeuroSettingsFragment.java
index f3ce40b1..1587524b 100644
--- a/app/src/main/java/io/neurolab/fragments/NeuroSettingsFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/NeuroSettingsFragment.java
@@ -3,7 +3,7 @@
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.support.annotation.Nullable;
+import androidx.annotation.Nullable;
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.view.inputmethod.InputMethodManager;
diff --git a/app/src/main/java/io/neurolab/fragments/RelaxVisualFragment.java b/app/src/main/java/io/neurolab/fragments/RelaxVisualFragment.java
index f3e912f7..880ca309 100644
--- a/app/src/main/java/io/neurolab/fragments/RelaxVisualFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/RelaxVisualFragment.java
@@ -2,15 +2,17 @@
import android.os.Bundle;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+
import io.neurolab.R;
import io.neurolab.tools.Animations;
-public class RelaxVisualFragment extends android.support.v4.app.Fragment {
+public class RelaxVisualFragment extends Fragment {
public static final String RELAX_PROGRAM_FLAG = "Relax";
diff --git a/app/src/main/java/io/neurolab/fragments/SpectrumFragment.java b/app/src/main/java/io/neurolab/fragments/SpectrumFragment.java
index f176126b..090a0c41 100644
--- a/app/src/main/java/io/neurolab/fragments/SpectrumFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/SpectrumFragment.java
@@ -3,8 +3,8 @@
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
-import android.support.v7.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.appcompat.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
diff --git a/app/src/main/java/io/neurolab/fragments/StatisticsFragment.java b/app/src/main/java/io/neurolab/fragments/StatisticsFragment.java
index 2a2a98c3..900446ef 100644
--- a/app/src/main/java/io/neurolab/fragments/StatisticsFragment.java
+++ b/app/src/main/java/io/neurolab/fragments/StatisticsFragment.java
@@ -2,7 +2,7 @@
import android.content.Context;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
+import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
diff --git a/app/src/main/java/io/neurolab/gui/CustomSpaceView.java b/app/src/main/java/io/neurolab/gui/CustomSpaceView.java
index 4b7a1754..c77df7b2 100644
--- a/app/src/main/java/io/neurolab/gui/CustomSpaceView.java
+++ b/app/src/main/java/io/neurolab/gui/CustomSpaceView.java
@@ -5,7 +5,7 @@
import android.graphics.Canvas;
import android.graphics.drawable.Drawable;
import android.os.Build;
-import android.support.v4.content.ContextCompat;
+import androidx.core.content.ContextCompat;
import android.util.AttributeSet;
import android.view.View;
diff --git a/app/src/main/java/io/neurolab/main/NeuroLab.java b/app/src/main/java/io/neurolab/main/NeuroLab.java
index 1863e091..9dc63cea 100644
--- a/app/src/main/java/io/neurolab/main/NeuroLab.java
+++ b/app/src/main/java/io/neurolab/main/NeuroLab.java
@@ -8,27 +8,30 @@
import android.content.IntentSender;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.res.Configuration;
import android.hardware.usb.UsbManager;
import android.os.Bundle;
import android.os.SystemClock;
import android.preference.PreferenceManager;
-import android.support.annotation.NonNull;
-import android.support.design.widget.NavigationView;
-import android.support.v4.content.ContextCompat;
-import android.support.v4.view.GravityCompat;
-import android.support.v4.widget.DrawerLayout;
-import android.support.v7.app.ActionBarDrawerToggle;
-import android.support.v7.app.AppCompatActivity;
-import android.support.v7.widget.CardView;
-import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.appcompat.app.ActionBarDrawerToggle;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.appcompat.app.AppCompatDelegate;
+import androidx.appcompat.widget.Toolbar;
+import androidx.cardview.widget.CardView;
+import androidx.core.content.ContextCompat;
+import androidx.core.view.GravityCompat;
+import androidx.drawerlayout.widget.DrawerLayout;
+
import com.felhr.usbserial.UsbSerialDevice;
import com.felhr.usbserial.UsbSerialInterface;
+import com.google.android.material.navigation.NavigationView;
import com.google.android.play.core.appupdate.AppUpdateInfo;
import com.google.android.play.core.appupdate.AppUpdateManager;
import com.google.android.play.core.appupdate.AppUpdateManagerFactory;
@@ -59,7 +62,7 @@
public class NeuroLab extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener, View.OnClickListener {
-
+public int themetype=0;
public static final String DEV_MODE_KEY = "developerMode";
private static final String ACTION_USB_PERMISSION = "io.neurolab.USB_PERMISSION";
private static final String[] READ_WRITE_PERMISSIONS = {
@@ -211,6 +214,7 @@ private void checkForUpdates(AppUpdateManager appUpdateManager, Task
+
+
diff --git a/app/src/main/res/layout-land/activity_focus_parent.xml b/app/src/main/res/layout-land/activity_focus_parent.xml
index 4e9d35cc..b9673421 100644
--- a/app/src/main/res/layout-land/activity_focus_parent.xml
+++ b/app/src/main/res/layout-land/activity_focus_parent.xml
@@ -41,7 +41,7 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_medium"
android:text="@string/focus_program_info"
- android:textColor="@android:color/black" />
+ />
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout-land/activity_relax_parent.xml b/app/src/main/res/layout-land/activity_relax_parent.xml
index 4d70b559..aeed2bc0 100644
--- a/app/src/main/res/layout-land/activity_relax_parent.xml
+++ b/app/src/main/res/layout-land/activity_relax_parent.xml
@@ -41,7 +41,7 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_medium"
android:text="@string/relax_program_info"
- android:textColor="@android:color/black" />
+ />
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_data_logger.xml b/app/src/main/res/layout/activity_data_logger.xml
index 20c3c743..d18daf85 100644
--- a/app/src/main/res/layout/activity_data_logger.xml
+++ b/app/src/main/res/layout/activity_data_logger.xml
@@ -15,7 +15,7 @@
android:gravity="center"
android:text="@string/no_logs" />
-
diff --git a/app/src/main/res/layout/activity_focus_parent.xml b/app/src/main/res/layout/activity_focus_parent.xml
index 1f6442ca..d905bb84 100644
--- a/app/src/main/res/layout/activity_focus_parent.xml
+++ b/app/src/main/res/layout/activity_focus_parent.xml
@@ -37,7 +37,7 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_medium"
android:text="@string/focus_program_info"
- android:textColor="@android:color/black" />
+ />
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index a61d8a63..8e69e22f 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,5 +1,5 @@
-
-
-
+
diff --git a/app/src/main/res/layout/activity_meditation_home.xml b/app/src/main/res/layout/activity_meditation_home.xml
index 9836e263..9ef4490c 100644
--- a/app/src/main/res/layout/activity_meditation_home.xml
+++ b/app/src/main/res/layout/activity_meditation_home.xml
@@ -30,7 +30,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
diff --git a/app/src/main/res/layout/activity_meditation_list.xml b/app/src/main/res/layout/activity_meditation_list.xml
index 4e32593d..6ed74326 100644
--- a/app/src/main/res/layout/activity_meditation_list.xml
+++ b/app/src/main/res/layout/activity_meditation_list.xml
@@ -1,5 +1,5 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_memory_graph_parent.xml b/app/src/main/res/layout/activity_memory_graph_parent.xml
index 5912d9e1..80a50093 100644
--- a/app/src/main/res/layout/activity_memory_graph_parent.xml
+++ b/app/src/main/res/layout/activity_memory_graph_parent.xml
@@ -16,7 +16,7 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_relax_parent.xml b/app/src/main/res/layout/activity_relax_parent.xml
index 5945a949..fbf59af7 100644
--- a/app/src/main/res/layout/activity_relax_parent.xml
+++ b/app/src/main/res/layout/activity_relax_parent.xml
@@ -37,7 +37,7 @@
android:layout_height="wrap_content"
android:layout_margin="@dimen/layout_margin_medium"
android:text="@string/relax_program_info"
- android:textColor="@android:color/black" />
+ />
-
-
-
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml
index 6d4b77c2..61410460 100644
--- a/app/src/main/res/layout/activity_settings.xml
+++ b/app/src/main/res/layout/activity_settings.xml
@@ -1,5 +1,5 @@
-
@@ -33,5 +33,5 @@
android:background="@color/divider_color" />
-
+
diff --git a/app/src/main/res/layout/activity_test_mode.xml b/app/src/main/res/layout/activity_test_mode.xml
index 6be3d2e2..d1ad3c24 100644
--- a/app/src/main/res/layout/activity_test_mode.xml
+++ b/app/src/main/res/layout/activity_test_mode.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
index b8a909cd..5d9ecbfa 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -1,17 +1,17 @@
-
-
-
-
+
-
+
-
+
diff --git a/app/src/main/res/layout/card_focus.xml b/app/src/main/res/layout/card_focus.xml
index 913a8f16..272da5ad 100644
--- a/app/src/main/res/layout/card_focus.xml
+++ b/app/src/main/res/layout/card_focus.xml
@@ -1,5 +1,5 @@
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/card_meditation.xml b/app/src/main/res/layout/card_meditation.xml
index 9dba16d6..a148edcb 100644
--- a/app/src/main/res/layout/card_meditation.xml
+++ b/app/src/main/res/layout/card_meditation.xml
@@ -1,5 +1,5 @@
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/card_mem_graph.xml b/app/src/main/res/layout/card_mem_graph.xml
index 32eeffe0..2700a6e7 100644
--- a/app/src/main/res/layout/card_mem_graph.xml
+++ b/app/src/main/res/layout/card_mem_graph.xml
@@ -1,5 +1,5 @@
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/card_relax.xml b/app/src/main/res/layout/card_relax.xml
index 8914b2cf..3ba2a3ec 100644
--- a/app/src/main/res/layout/card_relax.xml
+++ b/app/src/main/res/layout/card_relax.xml
@@ -1,5 +1,5 @@
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml
index ffb592ad..3fbcfc88 100644
--- a/app/src/main/res/layout/content_main.xml
+++ b/app/src/main/res/layout/content_main.xml
@@ -7,7 +7,6 @@
diff --git a/app/src/main/res/layout/fragment_relax_visual.xml b/app/src/main/res/layout/fragment_relax_visual.xml
index 1deab011..669be260 100644
--- a/app/src/main/res/layout/fragment_relax_visual.xml
+++ b/app/src/main/res/layout/fragment_relax_visual.xml
@@ -1,5 +1,5 @@
-
-
+
diff --git a/app/src/main/res/layout/fragment_statistics.xml b/app/src/main/res/layout/fragment_statistics.xml
index 5ee4bbf5..e95ce997 100644
--- a/app/src/main/res/layout/fragment_statistics.xml
+++ b/app/src/main/res/layout/fragment_statistics.xml
@@ -1,5 +1,5 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_meditation_layout.xml b/app/src/main/res/layout/item_meditation_layout.xml
index 265f19ea..cd0f9753 100644
--- a/app/src/main/res/layout/item_meditation_layout.xml
+++ b/app/src/main/res/layout/item_meditation_layout.xml
@@ -5,7 +5,7 @@
android:layout_height="wrap_content"
android:orientation="vertical">
-
@@ -45,7 +45,7 @@
app:layout_constraintTop_toTopOf="@+id/meditation_name"
android:src="@drawable/ic_play_meditate" />
-
+
-
-
@@ -91,6 +91,6 @@
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.428"
app:srcCompat="@android:drawable/ic_menu_delete" />
-
+
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/stat_items.xml b/app/src/main/res/layout/stat_items.xml
index 9b905c42..58ced8c1 100644
--- a/app/src/main/res/layout/stat_items.xml
+++ b/app/src/main/res/layout/stat_items.xml
@@ -19,7 +19,7 @@
android:text="@string/scores_label"
android:padding="6dp"/>
-
-
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
+
\ No newline at end of file
diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml
index d82462b7..8d7bd57d 100644
--- a/app/src/main/res/menu/main.xml
+++ b/app/src/main/res/menu/main.xml
@@ -2,6 +2,12 @@
\ No newline at end of file
diff --git a/app/src/main/res/values-night/colors-night.xml b/app/src/main/res/values-night/colors-night.xml
new file mode 100644
index 00000000..0d6b364e
--- /dev/null
+++ b/app/src/main/res/values-night/colors-night.xml
@@ -0,0 +1,25 @@
+
+
+ #7367ee
+ #6c60a9
+ #26a69a
+ #191818
+ #0E0E0E
+ #dad
+ #121111
+ #F2F2F2
+ #FFFFFF
+ #FFFFFF
+ #ffffff
+ #FFFFFF
+ #FFF852
+ #6DFBFB
+ #E0E0E0
+ #76FF03
+ #FFFCFC
+ #6c60a9
+ #7367ee
+ #99FFFFFF
+ #673AB7
+ #FFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values-night/drawable-night.xml b/app/src/main/res/values-night/drawable-night.xml
new file mode 100644
index 00000000..f7f737c5
--- /dev/null
+++ b/app/src/main/res/values-night/drawable-night.xml
@@ -0,0 +1,9 @@
+
+
+ - @android:drawable/ic_menu_camera
+ - @android:drawable/ic_menu_gallery
+ - @android:drawable/ic_menu_slideshow
+ - @android:drawable/ic_menu_manage
+ - @android:drawable/ic_menu_share
+ - @android:drawable/ic_menu_send
+
\ No newline at end of file
diff --git a/app/src/main/res/values-v29/styles.xml b/app/src/main/res/values-v29/styles.xml
new file mode 100644
index 00000000..b2308630
--- /dev/null
+++ b/app/src/main/res/values-v29/styles.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 3ce0e29d..e5b02558 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -1,16 +1,18 @@
-
+
-
+
+