From aa4c6155983318006b36402a359ff3db10014ef2 Mon Sep 17 00:00:00 2001 From: Christopher Beckmann Date: Thu, 23 Apr 2020 12:02:06 +0200 Subject: [PATCH] Migrated to AndroidX. Performance improvements. Adaptive Icon added. Fixes #51, Fixes #38, Fixes #8 --- app/build.gradle | 28 ++++----- app/src/main/AndroidManifest.xml | 5 +- .../privacyfriendlysudoku/SudokuApp.java | 32 ++++++++++ .../controller/GeneratorService.java | 17 ++---- .../controller/database/DatabaseHelper.java | 8 +-- .../privacyfriendlysudoku/game/GameCell.java | 5 +- .../game/GameDifficulty.java | 2 +- .../ui/AboutActivity.java | 4 +- .../ui/AppCompatPreferenceActivity.java | 10 +-- .../ui/BaseActivity.java | 4 +- .../ui/GameActivity.java | 15 ++--- .../ui/HelpActivity.java | 13 +--- .../ui/LoadGameActivity.java | 2 +- .../ui/MainActivity.java | 26 +++----- .../ui/SettingsActivity.java | 2 +- .../ui/SplashActivity.java | 2 +- .../ui/StatsActivity.java | 24 +++++--- .../ui/TutorialActivity.java | 6 +- .../ui/view/SudokuButtonType.java | 2 +- .../ui/view/SudokuCellView.java | 33 ++++++---- .../ui/view/SudokuFieldLayout.java | 2 - .../res/drawable/ic_launcher_foreground.xml | 36 +++++++++++ .../ic_launcher_foreground_shadow.xml | 57 ++++++++++++++++++ .../res/layout-land/activity_main_menu.xml | 24 ++++---- .../res/layout-small/activity_main_menu.xml | 24 ++++---- .../res/layout-xlarge/activity_main_menu.xml | 24 ++++---- .../main/res/layout/activity_game_view.xml | 22 +++---- .../main/res/layout/activity_main_menu.xml | 24 ++++---- app/src/main/res/layout/activity_stats.xml | 41 ++++++++----- app/src/main/res/layout/activity_tutorial.xml | 2 +- app/src/main/res/layout/nav_header.xml | 4 +- .../res/mipmap-anydpi-v26/ic_launcher.xml | 8 +++ .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 5523 -> 5277 bytes .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin app/src/main/res/mipmap-ldpi/ic_launcher.png | Bin 0 -> 2306 bytes .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 3315 -> 3106 bytes .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 7772 -> 7506 bytes .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 12564 -> 11694 bytes .../{ic_launcher_nopfa.png => ic_drawer.png} | Bin .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 16806 -> 15764 bytes app/src/main/res/values/colors.xml | 2 + build.gradle | 3 +- gradle.properties | 4 +- gradle/wrapper/gradle-wrapper.properties | 4 +- 48 files changed, 326 insertions(+), 195 deletions(-) create mode 100644 app/src/main/java/org/secuso/privacyfriendlysudoku/SudokuApp.java create mode 100644 app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app/src/main/res/drawable/ic_launcher_foreground_shadow.xml create mode 100644 app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml rename app/src/main/res/mipmap-hdpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) rename app/src/main/res/mipmap-ldpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) create mode 100644 app/src/main/res/mipmap-ldpi/ic_launcher.png rename app/src/main/res/mipmap-mdpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) rename app/src/main/res/mipmap-xhdpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) rename app/src/main/res/mipmap-xxhdpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) rename app/src/main/res/mipmap-xxxhdpi/{ic_launcher_nopfa.png => ic_drawer.png} (100%) diff --git a/app/build.gradle b/app/build.gradle index 66c1b07..6d2b6ee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,8 +1,7 @@ apply plugin: 'com.android.application' android { - compileSdkVersion 25 - buildToolsVersion '26.0.3' + compileSdkVersion 29 testOptions { unitTests.returnDefaultValues = true @@ -11,9 +10,10 @@ android { defaultConfig { applicationId "org.secuso.privacyfriendlysudoku" minSdkVersion 16 - targetSdkVersion 25 + targetSdkVersion 29 versionCode 6 versionName "2.1.2" + vectorDrawables.useSupportLibrary = true } buildTypes { release { @@ -22,19 +22,19 @@ android { } } compileOptions { - sourceCompatibility JavaVersion.VERSION_1_7 - targetCompatibility JavaVersion.VERSION_1_7 + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - testCompile 'junit:junit:4.12' - compile 'com.android.support:support-compat:25.3.1' - compile 'com.android.support:support-v4:25.3.1' - compile 'com.android.support:support-v13:25.3.1' - compile 'com.android.support:appcompat-v7:25.3.1' - compile 'com.android.support:design:25.3.1' - compile 'com.android.support:support-core-ui:25.3.1' - compile 'com.android.support:support-core-utils:25.3.1' + implementation fileTree(include: ['*.jar'], dir: 'libs') + testImplementation 'junit:junit:4.12' + implementation 'androidx.core:core:1.2.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.legacy:legacy-support-v13:1.0.0' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'com.google.android.material:material:1.1.0' + implementation 'androidx.legacy:legacy-support-core-ui:1.0.0' + implementation 'androidx.legacy:legacy-support-core-utils:1.0.0' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 290ca0e..9d32955 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -2,12 +2,15 @@ + + + android:theme="@style/AppTheme" + android:name="org.secuso.privacyfriendlysudoku.SudokuApp"> diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/SudokuApp.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/SudokuApp.java new file mode 100644 index 0000000..cd98737 --- /dev/null +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/SudokuApp.java @@ -0,0 +1,32 @@ +package org.secuso.privacyfriendlysudoku; + +import android.app.Application; +import android.app.NotificationChannel; +import android.app.NotificationChannelGroup; +import android.app.NotificationManager; +import android.content.Context; +import android.os.Build; + +import androidx.appcompat.app.AppCompatDelegate; + +public class SudokuApp extends Application { + + public static final String CHANNEL_ID = "sudoku.0"; + + @Override + public void onCreate() { + super.onCreate(); + AppCompatDelegate.setCompatVectorFromResourcesEnabled(true); + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + // channels + NotificationChannel channel = new NotificationChannel(CHANNEL_ID, "Default", NotificationManager.IMPORTANCE_LOW); + + NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + if (notificationManager != null) { + notificationManager.createNotificationChannel(channel); + } + } + } + +} diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/GeneratorService.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/GeneratorService.java index 32f78df..f6dbead 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/GeneratorService.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/GeneratorService.java @@ -2,32 +2,25 @@ package org.secuso.privacyfriendlysudoku.controller; import android.app.IntentService; import android.app.PendingIntent; -import android.app.Service; import android.content.Intent; -import android.os.Handler; -import android.os.IBinder; -import android.os.Looper; -import android.support.annotation.IntDef; -import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; -import android.support.v7.app.NotificationCompat; +import androidx.annotation.Nullable; +import androidx.core.app.NotificationCompat; +import androidx.core.content.ContextCompat; import android.util.Log; import android.util.Pair; +import org.secuso.privacyfriendlysudoku.SudokuApp; import org.secuso.privacyfriendlysudoku.controller.database.DatabaseHelper; import org.secuso.privacyfriendlysudoku.controller.database.model.Level; import org.secuso.privacyfriendlysudoku.controller.qqwing.Action; import org.secuso.privacyfriendlysudoku.controller.qqwing.PrintStyle; import org.secuso.privacyfriendlysudoku.controller.qqwing.QQWing; import org.secuso.privacyfriendlysudoku.controller.qqwing.Symmetry; -import org.secuso.privacyfriendlysudoku.game.GameBoard; import org.secuso.privacyfriendlysudoku.game.GameDifficulty; import org.secuso.privacyfriendlysudoku.game.GameType; import org.secuso.privacyfriendlysudoku.ui.MainActivity; import org.secuso.privacyfriendlysudoku.ui.view.R; -import java.util.Date; -import java.util.IllegalFormatCodePointException; import java.util.LinkedList; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; @@ -255,7 +248,7 @@ public class GeneratorService extends IntentService { } private void showNotification(GameType gameType, GameDifficulty gameDifficulty) { - NotificationCompat.Builder builder = new NotificationCompat.Builder(this); + NotificationCompat.Builder builder = new NotificationCompat.Builder(this, SudokuApp.CHANNEL_ID); builder.setContentTitle(getString(R.string.app_name)); builder.setContentText(getString(R.string.generating)); builder.setSubText(getString(gameType.getStringResID()) + ", " + getString(gameDifficulty.getStringResID())); diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/database/DatabaseHelper.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/database/DatabaseHelper.java index 59fdae0..85dd131 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/database/DatabaseHelper.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/controller/database/DatabaseHelper.java @@ -39,7 +39,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { onUpgrade(db, oldVersion, newVersion); } - public List getLevels(GameDifficulty difficulty, GameType gameType) { + public synchronized List getLevels(GameDifficulty difficulty, GameType gameType) { if(difficulty == null || gameType == null) { throw new IllegalArgumentException("Arguments may not be null"); } @@ -72,7 +72,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { return levelList; } - public Level getLevel(GameDifficulty difficulty, GameType gameType) { + public synchronized Level getLevel(GameDifficulty difficulty, GameType gameType) { List levelList = getLevels(difficulty, gameType); if(levelList.size() == 0) { throw new IllegalArgumentException("There is no level"); @@ -80,7 +80,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { return levelList.get(0); } - public void deleteLevel(int id) { + public synchronized void deleteLevel(int id) { SQLiteDatabase database = getWritableDatabase(); String selection = LevelColumns._ID + " = ?"; @@ -89,7 +89,7 @@ public class DatabaseHelper extends SQLiteOpenHelper { database.delete(LevelColumns.TABLE_NAME, selection, selectionArgs); } - public long addLevel(Level level) { + public synchronized long addLevel(Level level) { SQLiteDatabase database = getWritableDatabase(); return database.insert(LevelColumns.TABLE_NAME, null, LevelColumns.getValues(level)); } diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameCell.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameCell.java index 62dbcc4..de2a4f0 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameCell.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameCell.java @@ -2,14 +2,11 @@ package org.secuso.privacyfriendlysudoku.game; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.NonNull; +import androidx.annotation.NonNull; import java.util.Arrays; -import java.util.Collection; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.ListIterator; import org.secuso.privacyfriendlysudoku.game.listener.IModelChangedListener; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameDifficulty.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameDifficulty.java index fbf9f9c..f296149 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameDifficulty.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/game/GameDifficulty.java @@ -2,7 +2,7 @@ package org.secuso.privacyfriendlysudoku.game; import android.os.Parcel; import android.os.Parcelable; -import android.support.annotation.StringRes; +import androidx.annotation.StringRes; import java.util.LinkedList; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AboutActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AboutActivity.java index 065edf9..e42d898 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AboutActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AboutActivity.java @@ -2,7 +2,7 @@ package org.secuso.privacyfriendlysudoku.ui; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.method.LinkMovementMethod; import android.view.MenuItem; @@ -22,7 +22,7 @@ public class AboutActivity extends BaseActivity { ((TextView)findViewById(R.id.githubURL)).setMovementMethod(LinkMovementMethod.getInstance()); ((TextView)findViewById(R.id.textFieldVersionName)).setText(BuildConfig.VERSION_NAME); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + androidx.appcompat.app.ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(R.string.menu_about); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#024265"))); diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AppCompatPreferenceActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AppCompatPreferenceActivity.java index ac22c1a..4133998 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AppCompatPreferenceActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/AppCompatPreferenceActivity.java @@ -3,11 +3,11 @@ package org.secuso.privacyfriendlysudoku.ui; import android.content.res.Configuration; import android.os.Bundle; import android.preference.PreferenceActivity; -import android.support.annotation.LayoutRes; -import android.support.annotation.Nullable; -import android.support.v7.app.ActionBar; -import android.support.v7.app.AppCompatDelegate; -import android.support.v7.widget.Toolbar; +import androidx.annotation.LayoutRes; +import androidx.annotation.Nullable; +import androidx.appcompat.app.ActionBar; +import androidx.appcompat.app.AppCompatDelegate; +import androidx.appcompat.widget.Toolbar; import android.view.MenuInflater; import android.view.View; import android.view.ViewGroup; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/BaseActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/BaseActivity.java index 02d9ea9..38750a5 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/BaseActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/BaseActivity.java @@ -2,8 +2,8 @@ package org.secuso.privacyfriendlysudoku.ui; import android.os.Bundle; import android.os.Handler; -import android.preference.PreferenceManager; -import android.support.v7.app.AppCompatActivity; + +import androidx.appcompat.app.AppCompatActivity; import android.view.View; import org.secuso.privacyfriendlysudoku.ui.view.R; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/GameActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/GameActivity.java index 402a652..ece965e 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/GameActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/GameActivity.java @@ -12,12 +12,12 @@ import android.graphics.Point; import android.os.Bundle; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; -import android.support.design.widget.NavigationView; -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.Toolbar; +import com.google.android.material.navigation.NavigationView; +import androidx.core.view.GravityCompat; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.view.Gravity; import android.view.Menu; import android.view.MenuItem; @@ -27,7 +27,6 @@ import android.widget.Button; import android.widget.LinearLayout; import android.widget.RatingBar; import android.widget.TextView; -import android.widget.Toast; import org.secuso.privacyfriendlysudoku.controller.GameController; import org.secuso.privacyfriendlysudoku.controller.GameStateManager; @@ -46,10 +45,8 @@ import org.secuso.privacyfriendlysudoku.ui.view.SudokuKeyboardLayout; import org.secuso.privacyfriendlysudoku.ui.view.SudokuSpecialButtonLayout; import org.secuso.privacyfriendlysudoku.ui.view.WinDialog; -import java.util.IllegalFormatCodePointException; import java.util.LinkedList; import java.util.List; -import java.util.concurrent.RunnableFuture; public class GameActivity extends BaseActivity implements NavigationView.OnNavigationItemSelectedListener, IGameSolvedListener ,ITimerListener, IHintDialogFragmentListener, IResetDialogFragmentListener { diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/HelpActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/HelpActivity.java index 161005d..d731b12 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/HelpActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/HelpActivity.java @@ -2,29 +2,18 @@ package org.secuso.privacyfriendlysudoku.ui; import android.annotation.TargetApi; -import android.content.Context; -import android.content.Intent; -import android.content.res.Configuration; -import android.media.Ringtone; -import android.media.RingtoneManager; -import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; -import android.support.v7.app.ActionBar; +import androidx.appcompat.app.ActionBar; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; -import android.preference.RingtonePreference; -import android.text.TextUtils; import android.view.MenuItem; -import android.view.View; import org.secuso.privacyfriendlysudoku.ui.view.R; -import java.util.List; - /** * A {@link PreferenceActivity} that presents a set of application settings. On * handset devices, settings are presented as a single list. On tablets, diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/LoadGameActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/LoadGameActivity.java index 0ead53c..f04fa0b 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/LoadGameActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/LoadGameActivity.java @@ -45,7 +45,7 @@ public class LoadGameActivity extends BaseActivity implements IDeleteDialogFragm setContentView(R.layout.activity_load_game); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + androidx.appcompat.app.ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(R.string.menu_continue_game); actionBar.setDisplayHomeAsUpEnabled(true); diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/MainActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/MainActivity.java index 6aa6527..70878d3 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/MainActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/MainActivity.java @@ -1,25 +1,20 @@ package org.secuso.privacyfriendlysudoku.ui; -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceActivity; import android.preference.PreferenceManager; -import android.support.design.widget.NavigationView; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.view.GravityCompat; -import android.support.v4.view.ViewPager; -import android.support.v4.widget.DrawerLayout; -import android.support.v7.app.ActionBarDrawerToggle; -import android.support.v7.app.AppCompatActivity; -import android.support.v7.widget.Toolbar; +import com.google.android.material.navigation.NavigationView; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.core.view.GravityCompat; +import androidx.viewpager.widget.ViewPager; +import androidx.drawerlayout.widget.DrawerLayout; +import androidx.appcompat.app.ActionBarDrawerToggle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -37,7 +32,6 @@ import org.secuso.privacyfriendlysudoku.game.GameDifficulty; import org.secuso.privacyfriendlysudoku.game.GameType; import org.secuso.privacyfriendlysudoku.ui.view.R; -import java.io.Serializable; import java.util.LinkedList; import java.util.List; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SettingsActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SettingsActivity.java index e3a80c1..448b560 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SettingsActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SettingsActivity.java @@ -9,7 +9,7 @@ import android.os.Bundle; import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceActivity; -import android.support.v7.app.ActionBar; +import androidx.appcompat.app.ActionBar; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import android.view.MenuItem; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SplashActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SplashActivity.java index c1df161..032fc39 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SplashActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/SplashActivity.java @@ -2,7 +2,7 @@ package org.secuso.privacyfriendlysudoku.ui; import android.content.Intent; import android.os.Bundle; -import android.support.v7.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatActivity; /** * Created by yonjuni on 22.10.16. diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/StatsActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/StatsActivity.java index fe29654..1119d5a 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/StatsActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/StatsActivity.java @@ -4,12 +4,16 @@ import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; -import android.support.design.widget.TabLayout; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; -import android.support.v4.view.ViewPager; -import android.support.v7.widget.Toolbar; +import com.google.android.material.tabs.TabLayout; + +import androidx.core.content.ContextCompat; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentPagerAdapter; +import androidx.fragment.app.FragmentStatePagerAdapter; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; +import androidx.appcompat.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; @@ -30,12 +34,12 @@ import java.util.List; public class StatsActivity extends BaseActivity { /** - * The {@link android.support.v4.view.PagerAdapter} that will provide + * The {@link PagerAdapter} that will provide * fragments for each of the sections. We use a * {@link FragmentPagerAdapter} derivative, which will keep every * loaded fragment in memory. If this becomes too memory intensive, it * may be best to switch to a - * {@link android.support.v4.app.FragmentStatePagerAdapter}. + * {@link FragmentStatePagerAdapter}. */ private SectionsPagerAdapter mSectionsPagerAdapter; @@ -52,10 +56,10 @@ public class StatsActivity extends BaseActivity { Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); - android.support.v7.app.ActionBar actionBar = getSupportActionBar(); + androidx.appcompat.app.ActionBar actionBar = getSupportActionBar(); actionBar.setTitle(R.string.menu_highscore); actionBar.setDisplayHomeAsUpEnabled(true); - actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#024265"))); + //actionBar.setBackgroundDrawable(new ColorDrawable(ContextCompat.getColor(this, R.color.colorPrimary))); // Create the adapter that will return a fragment for each of the three // primary sections of the activity. diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/TutorialActivity.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/TutorialActivity.java index 9516aea..20b16b6 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/TutorialActivity.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/TutorialActivity.java @@ -5,9 +5,9 @@ import android.content.Intent; import android.graphics.Color; import android.os.Build; import android.os.Bundle; -import android.support.v4.view.PagerAdapter; -import android.support.v4.view.ViewPager; -import android.support.v7.app.AppCompatActivity; +import androidx.viewpager.widget.PagerAdapter; +import androidx.viewpager.widget.ViewPager; +import androidx.appcompat.app.AppCompatActivity; import android.text.Html; import android.view.LayoutInflater; import android.view.View; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuButtonType.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuButtonType.java index ae27f9a..5fb3854 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuButtonType.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuButtonType.java @@ -1,6 +1,6 @@ package org.secuso.privacyfriendlysudoku.ui.view; -import android.support.annotation.DrawableRes; +import androidx.annotation.DrawableRes; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuCellView.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuCellView.java index 6f7fa62..06b9a0a 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuCellView.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuCellView.java @@ -53,6 +53,21 @@ public class SudokuCellView extends View { mRow = gameCell.getRow(); mCol = gameCell.getCol(); this.size = size; + + initLayoutParams(); + } + + private void initLayoutParams() { + if(this.params == null) { + params = new RelativeLayout.LayoutParams(mWidth, mHeight); + } + + // Set Layout + params.width = mWidth; + params.height = mHeight; + params.topMargin = mRow*mHeight; + params.leftMargin = mCol*mWidth; + this.setLayoutParams(params); } public void setSymbols(Symbol s) { @@ -74,21 +89,17 @@ public class SudokuCellView extends View { return true; }*/ + @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + + + } + @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); - if(this.params == null) { - params = new RelativeLayout.LayoutParams(mWidth, mHeight); - } - - // Set Layout - params.width = mWidth; - params.height = mHeight; - params.topMargin = mRow*mHeight; - params.leftMargin = mCol*mWidth; - this.setLayoutParams(params); - // Draw single Field drawInfo(canvas); } diff --git a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuFieldLayout.java b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuFieldLayout.java index a52e044..0a4fac8 100644 --- a/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuFieldLayout.java +++ b/app/src/main/java/org/secuso/privacyfriendlysudoku/ui/view/SudokuFieldLayout.java @@ -5,7 +5,6 @@ import android.content.SharedPreferences; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; -import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.MotionEvent; import android.view.View; @@ -134,7 +133,6 @@ public class SudokuFieldLayout extends RelativeLayout implements IHighlightChang @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed,l,t,r,b); - isWidthLimiting = r-l == Math.min(r-l, b-t); if(changed && gameController != null) { diff --git a/app/src/main/res/drawable/ic_launcher_foreground.xml b/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..4457f4c --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + diff --git a/app/src/main/res/drawable/ic_launcher_foreground_shadow.xml b/app/src/main/res/drawable/ic_launcher_foreground_shadow.xml new file mode 100644 index 0000000..4a5b108 --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground_shadow.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout-land/activity_main_menu.xml b/app/src/main/res/layout-land/activity_main_menu.xml index 34926fe..bc24413 100644 --- a/app/src/main/res/layout-land/activity_main_menu.xml +++ b/app/src/main/res/layout-land/activity_main_menu.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-small/activity_main_menu.xml b/app/src/main/res/layout-small/activity_main_menu.xml index 63f98e8..d989504 100644 --- a/app/src/main/res/layout-small/activity_main_menu.xml +++ b/app/src/main/res/layout-small/activity_main_menu.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-xlarge/activity_main_menu.xml b/app/src/main/res/layout-xlarge/activity_main_menu.xml index cb60e93..1f21a39 100644 --- a/app/src/main/res/layout-xlarge/activity_main_menu.xml +++ b/app/src/main/res/layout-xlarge/activity_main_menu.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_game_view.xml b/app/src/main/res/layout/activity_game_view.xml index 25f58e3..a7c23f5 100644 --- a/app/src/main/res/layout/activity_game_view.xml +++ b/app/src/main/res/layout/activity_game_view.xml @@ -1,29 +1,25 @@ - - - - - - + - + - + - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main_menu.xml b/app/src/main/res/layout/activity_main_menu.xml index dc332c2..8c6299b 100644 --- a/app/src/main/res/layout/activity_main_menu.xml +++ b/app/src/main/res/layout/activity_main_menu.xml @@ -1,5 +1,5 @@ - - - - - + - + - - + - - + diff --git a/app/src/main/res/layout/activity_stats.xml b/app/src/main/res/layout/activity_stats.xml index bb5ca10..a0bbb0a 100644 --- a/app/src/main/res/layout/activity_stats.xml +++ b/app/src/main/res/layout/activity_stats.xml @@ -1,30 +1,43 @@ - - - - + - + - + - - + diff --git a/app/src/main/res/layout/activity_tutorial.xml b/app/src/main/res/layout/activity_tutorial.xml index 78a7d05..51a6287 100644 --- a/app/src/main/res/layout/activity_tutorial.xml +++ b/app/src/main/res/layout/activity_tutorial.xml @@ -7,7 +7,7 @@ tools:showIn="@layout/activity_tutorial"> - diff --git a/app/src/main/res/layout/nav_header.xml b/app/src/main/res/layout/nav_header.xml index 7d6b302..f4105c1 100644 --- a/app/src/main/res/layout/nav_header.xml +++ b/app/src/main/res/layout/nav_header.xml @@ -23,7 +23,7 @@ android:contentDescription="App Logo" android:paddingEnd="@dimen/activity_horizontal_margin" android:paddingStart="@dimen/activity_horizontal_margin" - android:src="@mipmap/ic_launcher_nopfa"/> + android:src="@mipmap/ic_drawer"/> - - diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..bb326ba --- /dev/null +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,8 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_nopfa.png b/app/src/main/res/mipmap-hdpi/ic_drawer.png similarity index 100% rename from app/src/main/res/mipmap-hdpi/ic_launcher_nopfa.png rename to app/src/main/res/mipmap-hdpi/ic_drawer.png diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index 8232e9b348a77d021ec87252fbb6d47b37afbe53..7d45a2525494fa5a7ca72d8bb4a6f9a80687cb46 100644 GIT binary patch delta 5269 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 P0000+BA-v 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 Z{{i1M&xBS7zUu%0002ovPDHLkV1j$Mi68&~ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_nopfa.png b/app/src/main/res/mipmap-xhdpi/ic_drawer.png similarity index 100% rename from app/src/main/res/mipmap-xhdpi/ic_launcher_nopfa.png rename to app/src/main/res/mipmap-xhdpi/ic_drawer.png diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png index f22ff3c259045c1b04473f432567a18bb17a5f36..96dfb024bade0fd7e32e52ed19612a99198020f2 100644 GIT binary patch literal 7506 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 literal 7772 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 Eg3`=spa1{> literal 12564 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 qLIr4 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/dot_dark_screen @color/dot_dark_screen + + #3680BB diff --git a/build.gradle b/build.gradle index c068560..db1fb47 100644 --- a/build.gradle +++ b/build.gradle @@ -6,7 +6,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.0.1' + classpath 'com.android.tools.build:gradle:3.6.2' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -16,6 +16,7 @@ buildscript { allprojects { repositories { jcenter() + google() } } diff --git a/gradle.properties b/gradle.properties index 1d3591c..915f0e6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,6 @@ # When configured, Gradle will run in incubating parallel mode. # This option should only be used with decoupled projects. More details, visit # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects -# org.gradle.parallel=true \ No newline at end of file +# org.gradle.parallel=true +android.enableJetifier=true +android.useAndroidX=true \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 9dfcc65..44bb974 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Fri Jan 19 17:45:21 CET 2018 +#Wed Oct 23 12:21:08 CEST 2019 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip