diff --git a/.gitignore b/.gitignore index da3280e..533cd42 100644 --- a/.gitignore +++ b/.gitignore @@ -32,17 +32,7 @@ captures/ # IntelliJ *.iml -.idea/workspace.xml -.idea/tasks.xml -.idea/gradle.xml -.idea/assetWizardSettings.xml -.idea/dictionaries -.idea/libraries -# Android Studio 3 in .gitignore file. -.idea/caches -.idea/modules.xml -# Comment next line if keeping position of elements in Navigation Editor is relevant for you -.idea/navEditor.xml +.idea/ # Keystore files # Uncomment the following lines if you do not want to check your keystore files in. @@ -80,3 +70,11 @@ lint/tmp/ # Android Profiling *.hprof + +/**/*/res/values/secrets.xml +*.aab +*.apk +*.ap_ +google-services.json + +**/.DS_Store \ No newline at end of file diff --git a/.gradle/6.1.1/fileChanges/last-build.bin b/.gradle/6.1.1/fileChanges/last-build.bin deleted file mode 100755 index f76dd23..0000000 Binary files a/.gradle/6.1.1/fileChanges/last-build.bin and /dev/null differ diff --git a/.gradle/6.1.1/fileContent/fileContent.lock b/.gradle/6.1.1/fileContent/fileContent.lock deleted file mode 100755 index cfb67f4..0000000 Binary files a/.gradle/6.1.1/fileContent/fileContent.lock and /dev/null differ diff --git a/.gradle/6.1.1/gc.properties b/.gradle/6.1.1/gc.properties deleted file mode 100755 index e69de29..0000000 diff --git a/.gradle/buildOutputCleanup/cache.properties b/.gradle/buildOutputCleanup/cache.properties deleted file mode 100755 index 3c35119..0000000 --- a/.gradle/buildOutputCleanup/cache.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Sun Nov 27 00:23:14 CET 2022 -gradle.version=7.4 diff --git a/.gradle/buildOutputCleanup/outputFiles.bin b/.gradle/buildOutputCleanup/outputFiles.bin deleted file mode 100644 index f3c7920..0000000 Binary files a/.gradle/buildOutputCleanup/outputFiles.bin and /dev/null differ diff --git a/.gradle/checksums/md5-checksums.bin b/.gradle/checksums/md5-checksums.bin deleted file mode 100755 index 9f94d81..0000000 Binary files a/.gradle/checksums/md5-checksums.bin and /dev/null differ diff --git a/.gradle/checksums/sha1-checksums.bin b/.gradle/checksums/sha1-checksums.bin deleted file mode 100755 index 7c14c6a..0000000 Binary files a/.gradle/checksums/sha1-checksums.bin and /dev/null differ diff --git a/.gradle/vcs-1/gc.properties b/.gradle/vcs-1/gc.properties deleted file mode 100755 index e69de29..0000000 diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index 5c98b42..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# Default ignored files -/workspace.xml \ No newline at end of file diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml deleted file mode 100644 index f2a7850..0000000 --- a/.idea/assetWizardSettings.xml +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/caches/build_file_checksums.ser b/.idea/caches/build_file_checksums.ser deleted file mode 100755 index 7a90673..0000000 Binary files a/.idea/caches/build_file_checksums.ser and /dev/null differ diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml deleted file mode 100644 index 0d15693..0000000 --- a/.idea/codeStyles/Project.xml +++ /dev/null @@ -1,134 +0,0 @@ - - - - - - - - - - - -
- - - - xmlns:android - - ^$ - - - -
-
- - - - xmlns:.* - - ^$ - - - BY_NAME - -
-
- - - - .*:id - - http://schemas.android.com/apk/res/android - - - -
-
- - - - .*:name - - http://schemas.android.com/apk/res/android - - - -
-
- - - - name - - ^$ - - - -
-
- - - - style - - ^$ - - - -
-
- - - - .* - - ^$ - - - BY_NAME - -
-
- - - - .* - - http://schemas.android.com/apk/res/android - - - ANDROID_ATTRIBUTE_ORDER - -
-
- - - - .* - - .* - - - BY_NAME - -
-
-
-
-
-
\ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml deleted file mode 100644 index fb7f4a8..0000000 --- a/.idea/compiler.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index a2d7c21..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml deleted file mode 100644 index eb2873e..0000000 --- a/.idea/jarRepositories.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/markdown-doclet.xml b/.idea/markdown-doclet.xml deleted file mode 100644 index a0355e9..0000000 --- a/.idea/markdown-doclet.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index aeef981..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index cfb9328..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/README.md b/README.md index 26d42eb..12435a4 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,8 @@

- +

-Important: We moved to GitLab! The repository on Github will remain as a mirror. Please do not submit pull requests or issues on GitHub. - -# TimeTable - -[![Fdroid](https://img.shields.io/f-droid/v/com.asdoi.timetable.svg)]() -[![Release](https://img.shields.io/badge/dynamic/json.svg?label=Release&url=https://gitlab.com/asdoi/TimeTable/-/jobs/artifacts/master/raw/badges.json?job=build_badges&query=release_tag&colorB=brightgreen&logo=gitlab)]() -[![License](https://img.shields.io/badge/dynamic/json.svg?label=License&url=https://gitlab.com/api/v4/projects/19059184?license=true&query=license.key&colorB=yellow)]() -[![Commits since last release](https://gitlab.com/asdoi/TimeTable/-/jobs/artifacts/master/raw/badges/commits_since_last_release.svg?job=build_badges)]() -[![Commit activity](https://gitlab.com/asdoi/TimeTable/-/jobs/artifacts/master/raw/badges/commit_activity.svg?job=build_badges)]() -[![Day the Repository has been created](https://gitlab.com/asdoi/TimeTable/-/jobs/artifacts/master/raw/badges/repository_creation_day.svg?job=build_badges)]() - - -[Direct apk download](https://gitlab.com/asdoi/TimeTable/-/raw/master/app/release/app-release.apk)* +# Class Timetable Planner Timetable is an Android Application, which allows you to save timetable, homeworks and notes.
This is an improved version of the app from ulan17 .
@@ -38,11 +24,14 @@ You are welcome to contribute with issues, pull requests and ideas. And to contr - Rewrite class 'AlertDialogsHelper' ### Screenshots -1 screenshot      1 screenshot -
-1 screenshot     1 screenshot     1 screenshot - -*Made by smichel17 from LibreShift/red-moon +[]() +[]() +[]() +[]() +[]() +[]() +[]() +[]() ### License diff --git a/app/.gitignore b/app/.gitignore index 796b96d..956c004 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -1 +1,2 @@ /build +/release \ No newline at end of file diff --git a/app/build.gradle b/app/build.gradle index d88f68b..9d5ca64 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,16 +1,16 @@ apply plugin: 'com.android.application' -apply plugin: 'com.mikepenz.aboutlibraries.plugin' +//apply plugin: 'com.mikepenz.aboutlibraries.plugin' apply plugin: 'kotlin-android' +apply plugin: 'com.google.gms.google-services' android { - compileSdkVersion 29 + compileSdk 34 defaultConfig { - applicationId "com.asdoi.timetable" + applicationId "com.systems.automaton.classtimetableplanner" minSdkVersion 21 - targetSdkVersion 29 - versionCode 17 - versionName "1.7" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + targetSdkVersion 34 + versionCode 27 + versionName "2.7" vectorDrawables.useSupportLibrary = true } buildTypes { @@ -24,27 +24,22 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } - namespace 'com.ulan.timetable' - buildToolsVersion '33.0.1' } dependencies { - implementation 'androidx.appcompat:appcompat:1.3.0' + implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.3.0' - implementation 'androidx.constraintlayout:constraintlayout:2.1.2' - implementation 'androidx.browser:browser:1.3.0' - implementation 'androidx.preference:preference-ktx:1.1.1' + implementation 'com.google.android.material:material:1.6.1' + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.browser:browser:1.4.0' + implementation 'androidx.preference:preference-ktx:1.2.0' implementation 'androidx.cardview:cardview:1.0.0' - implementation "androidx.coordinatorlayout:coordinatorlayout:1.1.0" - testImplementation 'junit:junit:4.13' - androidTestImplementation 'androidx.test.ext:junit:1.1.3' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation "androidx.coordinatorlayout:coordinatorlayout:1.2.0" implementation 'me.jfenn.ColorPickerDialog:base:0.2.2' implementation 'com.github.quwepiro:SQLite2XL:88883cf56d' implementation 'saschpe.android:customtabs:3.0.2' - implementation "com.mikepenz:aboutlibraries:8.9.4" + //implementation "com.mikepenz:aboutlibraries:8.9.4" implementation 'com.github.stephenvinouze:shapetextdrawable:1.0.0' implementation 'com.github.Pradyuman7:ChocoBar:V1.7' implementation 'com.github.IamIsPra:Sheriff:1.0.2' @@ -55,4 +50,11 @@ dependencies { //noinspection GradleDependency implementation 'com.afollestad.material-dialogs:core:0.9.6' implementation 'com.afollestad.material-dialogs:commons:0.9.6.0' + + implementation 'com.android.billingclient:billing:7.0.0' + implementation 'com.google.android.gms:play-services-ads:21.2.0' + implementation platform('com.google.firebase:firebase-bom:29.3.0') + implementation 'com.google.firebase:firebase-analytics-ktx' + + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' } \ No newline at end of file diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index df483ef..da2a788 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -27,5 +27,5 @@ -keep public class org.apache.poi.hssf.** {*;} -keep public class org.apache.poi.ss.** {*;} -keep public class me.jfenn.colorpickerdialog.** {*;} --keep public class com.ulan.timetable.fragments.NotificationSettingsFragment --keep public class com.ulan.timetable.appwidget.** {*;} \ No newline at end of file +-keep public class com.systems.automaton.classtimetableplanner.fragments.NotificationSettingsFragment +-keep public class com.systems.automaton.classtimetableplanner.appwidget.** {*;} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index d5061ee..75438b7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,15 +1,19 @@ + xmlns:dist="http://schemas.android.com/apk/distribution" + package="com.systems.automaton.classtimetableplanner"> + + + + android:label="@string/app_name" + android:exported="true"> @@ -30,44 +35,44 @@ + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.NotesActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity"> + android:value="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.MainActivity" /> + android:parentActivityName="com.systems.automaton.classtimetableplanner.activities.SummaryActivity" /> + android:name="com.systems.automaton.classtimetableplanner.receivers.DailyReceiver" + android:enabled="true" + android:exported="true"> @@ -88,8 +94,9 @@ + android:name="com.systems.automaton.classtimetableplanner.receivers.TurnOnReceiver" + android:enabled="true" + android:exported="true"> @@ -99,6 +106,7 @@ @@ -111,19 +119,21 @@ android:name=".receivers.TurnOffReceiver" android:enabled="true" /> + android:name="com.systems.automaton.classtimetableplanner.appwidget.AppWidgetConfigureActivity" + android:label="@string/configure_widget_controls" + android:exported="true"> - + @@ -133,8 +143,13 @@ android:resource="@xml/day_appwidget_info" /> + + + \ No newline at end of file diff --git a/app/src/main/ic_launcher-playstore.png b/app/src/main/ic_launcher-playstore.png index 63a04b6..18ee698 100644 Binary files a/app/src/main/ic_launcher-playstore.png and b/app/src/main/ic_launcher-playstore.png differ diff --git a/app/src/main/java/com/ulan/timetable/activities/ExamsActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ExamsActivity.java similarity index 85% rename from app/src/main/java/com/ulan/timetable/activities/ExamsActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ExamsActivity.java index 86196d3..b430db9 100644 --- a/app/src/main/java/com/ulan/timetable/activities/ExamsActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ExamsActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.os.Bundle; import android.util.SparseBooleanArray; @@ -13,12 +13,13 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.ExamsAdapter; -import com.ulan.timetable.model.Exam; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.ExamsAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.model.Exam; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; @@ -43,6 +44,7 @@ private void initAll() { setupAdapter(); setupListViewMultiSelect(); setupCustomDialog(); + AdManager.instance.createAdView(getApplicationContext(), findViewById(R.id.ad_container)); } private void setupAdapter() { diff --git a/app/src/main/java/com/ulan/timetable/activities/HomeworkActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/HomeworkActivity.java similarity index 85% rename from app/src/main/java/com/ulan/timetable/activities/HomeworkActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/HomeworkActivity.java index c2b7b42..653b42e 100644 --- a/app/src/main/java/com/ulan/timetable/activities/HomeworkActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/HomeworkActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.os.Bundle; import android.util.SparseBooleanArray; @@ -13,13 +13,14 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.HomeworkAdapter; -import com.ulan.timetable.model.Homework; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.HomeworkAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.model.Homework; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; @@ -53,6 +54,7 @@ private void initAll() { setupAdapter(); setupListViewMultiSelect(); setupCustomDialog(); + AdManager.instance.createAdView(getApplicationContext(), findViewById(R.id.ad_container)); } private void setupAdapter() { diff --git a/app/src/main/java/com/ulan/timetable/activities/MainActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/MainActivity.java similarity index 89% rename from app/src/main/java/com/ulan/timetable/activities/MainActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/MainActivity.java index 9df6344..741f257 100644 --- a/app/src/main/java/com/ulan/timetable/activities/MainActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/MainActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.Manifest; import android.content.Context; @@ -34,19 +34,22 @@ import com.ajts.androidmads.library.SQLiteToExcel; import com.google.android.material.navigation.NavigationView; import com.google.android.material.tabs.TabLayout; -import com.mikepenz.aboutlibraries.LibsBuilder; +//import com.mikepenz.aboutlibraries.LibsBuilder; import com.pd.chocobar.ChocoBar; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.FragmentsTabAdapter; -import com.ulan.timetable.fragments.WeekdayFragment; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.receivers.DoNotDisturbReceiversKt; -import com.ulan.timetable.receivers.MidnightReceiver; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.NotificationUtil; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.ShortcutUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.FragmentsTabAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.ads.BillingManager; +import com.systems.automaton.classtimetableplanner.ads.EventManager; +import com.systems.automaton.classtimetableplanner.fragments.WeekdayFragment; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.receivers.DoNotDisturbReceiversKt; +import com.systems.automaton.classtimetableplanner.receivers.MidnightReceiver; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.NotificationUtil; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.ShortcutUtils; import java.io.File; import java.util.ArrayList; @@ -57,8 +60,7 @@ import info.isuru.sheriff.helper.Sheriff; import info.isuru.sheriff.interfaces.PermissionListener; import saschpe.android.customtabs.CustomTabsHelper; -import saschpe.android.customtabs.WebViewFallback; - +import saschpe.android.customtabs.WebViewActivity; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @@ -105,13 +107,6 @@ private void initAll() { NavigationView navigationView = findViewById(R.id.nav_view); navigationView.setNavigationItemSelectedListener(this); - View headerview = navigationView.getHeaderView(0); - headerview.findViewById(R.id.nav_header_main_settings).setOnClickListener((View v) -> startActivity(new Intent(this, SettingsActivity.class))); - TextView title = headerview.findViewById(R.id.nav_header_main_title); - title.setText(R.string.app_name); - - TextView desc = headerview.findViewById(R.id.nav_header_main_desc); - desc.setText(R.string.nav_drawer_description); PreferenceManager.setDefaultValues(this, R.xml.settings, false); Toolbar toolbar = findViewById(R.id.toolbar); @@ -125,6 +120,19 @@ private void initAll() { setupFragments(); setupCustomDialog(); + + if (!AdManager.instance.isInitialized()) { + AdManager.instance.initialize(this); + } + if (!BillingManager.instance.isInitialized()) { + BillingManager.instance.initialize(this); + } + if (!EventManager.instance.isInitialized()) { + EventManager.instance.initialize(this); + } + if (AdManager.instance.isDisabled()) { + navigationView.getMenu().findItem(R.id.remove_ads).setVisible(false); + } } private boolean dontfire = true; @@ -299,14 +307,15 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) { } else if (item.getItemId() == R.id.action_remove_all) { deleteAll(); } else if (item.getItemId() == R.id.action_about_libs) { - new LibsBuilder() - .withActivityTitle(getString(R.string.about_libs_title)) - .withAboutIconShown(true) - .withFields(R.string.class.getFields()) - .withLicenseShown(true) - .withAboutDescription(getString(R.string.nav_drawer_description)) - .withAboutAppName(getString(R.string.app_name)) - .start(this); + openUrlInChromeCustomTab("https://github.com/Automaton-Systems/class-timetable-planner"); +// new LibsBuilder() +// .withActivityTitle(getString(R.string.about_libs_title)) +// .withAboutIconShown(true) +// .withFields(R.string.class.getFields()) +// .withLicenseShown(true) +// .withAboutDescription(getString(R.string.nav_drawer_description)) +// .withAboutAppName(getString(R.string.app_name)) +// .start(this); } else if (item.getItemId() == R.id.action_profiles) { Intent intent = new Intent(getBaseContext(), ProfileActivity.class); startActivity(intent); @@ -318,7 +327,9 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { int itemId = item.getItemId(); - if (itemId == R.id.exams) { + if (itemId == R.id.remove_ads) { + BillingManager.instance.buy(this); + } else if (itemId == R.id.exams) { Intent exams = new Intent(MainActivity.this, ExamsActivity.class); startActivity(exams); } else if (itemId == R.id.homework) { @@ -508,7 +519,14 @@ private void openUrlInChromeCustomTab(String url) { // This is where the magic happens... CustomTabsHelper.Companion.openCustomTab(context, customTabsIntent, Uri.parse(url), - new WebViewFallback()); + (context1, uri) -> { + if (context1 != null && uri != null) { + context1.startActivity( + new Intent(context1, WebViewActivity.class).putExtra( + WebViewActivity.Companion.getEXTRA_URL(), + uri.toString())); + } + }); } catch (Exception e) { e.printStackTrace(); } diff --git a/app/src/main/java/com/ulan/timetable/activities/NoteInfoActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NoteInfoActivity.java similarity index 85% rename from app/src/main/java/com/ulan/timetable/activities/NoteInfoActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NoteInfoActivity.java index c87bf50..322bda3 100644 --- a/app/src/main/java/com/ulan/timetable/activities/NoteInfoActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NoteInfoActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.os.Bundle; import android.view.MenuItem; @@ -9,10 +9,10 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.model.Note; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.model.Note; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/activities/NotesActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NotesActivity.java similarity index 86% rename from app/src/main/java/com/ulan/timetable/activities/NotesActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NotesActivity.java index 4b932ff..dccc43b 100644 --- a/app/src/main/java/com/ulan/timetable/activities/NotesActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/NotesActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.content.Intent; import android.os.Bundle; @@ -14,13 +14,14 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.NotesAdapter; -import com.ulan.timetable.model.Note; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.NotesAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.model.Note; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; @@ -54,6 +55,7 @@ private void initAll() { setupAdapter(); setupListViewMultiSelect(); setupCustomDialog(); + AdManager.instance.createAdView(getApplicationContext(), findViewById(R.id.ad_container)); } private void setupAdapter() { diff --git a/app/src/main/java/com/ulan/timetable/activities/ProfileActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ProfileActivity.java similarity index 84% rename from app/src/main/java/com/ulan/timetable/activities/ProfileActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ProfileActivity.java index 319c8df..1c6e56f 100644 --- a/app/src/main/java/com/ulan/timetable/activities/ProfileActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/ProfileActivity.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.content.Intent; import android.os.Bundle; @@ -24,10 +24,10 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.FragmentManager; -import com.ulan.timetable.R; -import com.ulan.timetable.fragments.ProfileActivityFragment; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.fragments.ProfileActivityFragment; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; public class ProfileActivity extends AppCompatActivity { diff --git a/app/src/main/java/com/ulan/timetable/activities/SettingsActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SettingsActivity.java similarity index 89% rename from app/src/main/java/com/ulan/timetable/activities/SettingsActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SettingsActivity.java index 9bfe2ab..9279b55 100644 --- a/app/src/main/java/com/ulan/timetable/activities/SettingsActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SettingsActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.content.Intent; import android.os.Bundle; @@ -8,9 +8,9 @@ import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; -import com.ulan.timetable.R; -import com.ulan.timetable.fragments.SettingsFragment; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.fragments.SettingsFragment; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/activities/SummaryActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SummaryActivity.java similarity index 93% rename from app/src/main/java/com/ulan/timetable/activities/SummaryActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SummaryActivity.java index 77bd886..01d44df 100644 --- a/app/src/main/java/com/ulan/timetable/activities/SummaryActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/SummaryActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.content.Intent; import android.os.Bundle; @@ -15,14 +15,15 @@ import com.github.tlaabs.timetableview.Schedule; import com.github.tlaabs.timetableview.Time; import com.github.tlaabs.timetableview.TimetableView; -import com.ulan.timetable.R; -import com.ulan.timetable.fragments.WeekdayFragment; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.fragments.WeekdayFragment; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.ArrayList; import java.util.Arrays; @@ -94,6 +95,8 @@ protected void onCreate(Bundle savedInstanceState) { setupCourseTableLibrary1(); else setupTimetableLibrary2(); + + AdManager.instance.createAdView(getApplicationContext(), findViewById(R.id.ad_container)); } @Override diff --git a/app/src/main/java/com/ulan/timetable/activities/TeachersActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TeachersActivity.java similarity index 86% rename from app/src/main/java/com/ulan/timetable/activities/TeachersActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TeachersActivity.java index 734d804..479a096 100644 --- a/app/src/main/java/com/ulan/timetable/activities/TeachersActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TeachersActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.content.Context; import android.os.Bundle; @@ -15,12 +15,13 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.coordinatorlayout.widget.CoordinatorLayout; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.TeachersAdapter; -import com.ulan.timetable.model.Teacher; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.TeachersAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.model.Teacher; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; @@ -45,6 +46,7 @@ private void initAll() { setupAdapter(); setupListViewMultiSelect(); setupCustomDialog(); + AdManager.instance.createAdView(getApplicationContext(), findViewById(R.id.ad_container)); } private void setupAdapter() { diff --git a/app/src/main/java/com/ulan/timetable/activities/TimeSettingsActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TimeSettingsActivity.java similarity index 76% rename from app/src/main/java/com/ulan/timetable/activities/TimeSettingsActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TimeSettingsActivity.java index 72bffa2..97e3dcf 100644 --- a/app/src/main/java/com/ulan/timetable/activities/TimeSettingsActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/activities/TimeSettingsActivity.java @@ -1,12 +1,12 @@ -package com.ulan.timetable.activities; +package com.systems.automaton.classtimetableplanner.activities; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.fragments.TimeSettingsFragment; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.fragments.TimeSettingsFragment; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; public class TimeSettingsActivity extends AppCompatActivity { diff --git a/app/src/main/java/com/ulan/timetable/adapters/ExamsAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/ExamsAdapter.java similarity index 92% rename from app/src/main/java/com/ulan/timetable/adapters/ExamsAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/ExamsAdapter.java index d8dc3e7..9c30b66 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/ExamsAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/ExamsAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import android.content.Intent; import android.content.res.ColorStateList; @@ -22,14 +22,14 @@ import androidx.cardview.widget.CardView; import androidx.core.widget.ImageViewCompat; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.TeachersActivity; -import com.ulan.timetable.model.Exam; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.ColorPalette; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.TeachersActivity; +import com.systems.automaton.classtimetableplanner.model.Exam; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.ColorPalette; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/adapters/FragmentsTabAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/FragmentsTabAdapter.java similarity index 96% rename from app/src/main/java/com/ulan/timetable/adapters/FragmentsTabAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/FragmentsTabAdapter.java index f241d90..7406d44 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/FragmentsTabAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/FragmentsTabAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import androidx.annotation.NonNull; import androidx.annotation.Nullable; diff --git a/app/src/main/java/com/ulan/timetable/adapters/HomeworkAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/HomeworkAdapter.java similarity index 91% rename from app/src/main/java/com/ulan/timetable/adapters/HomeworkAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/HomeworkAdapter.java index d63fc7c..11af257 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/HomeworkAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/HomeworkAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import android.content.res.ColorStateList; import android.graphics.Color; @@ -20,13 +20,13 @@ import androidx.cardview.widget.CardView; import androidx.core.widget.ImageViewCompat; -import com.ulan.timetable.R; -import com.ulan.timetable.model.Homework; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.ColorPalette; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.model.Homework; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.ColorPalette; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/adapters/NotesAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/NotesAdapter.java similarity index 92% rename from app/src/main/java/com/ulan/timetable/adapters/NotesAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/NotesAdapter.java index d8f6960..1ee1423 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/NotesAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/NotesAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import android.content.res.ColorStateList; import android.graphics.Color; @@ -20,12 +20,12 @@ import androidx.cardview.widget.CardView; import androidx.core.widget.ImageViewCompat; -import com.ulan.timetable.R; -import com.ulan.timetable.model.Note; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.ColorPalette; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.model.Note; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.ColorPalette; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/adapters/TeachersAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/TeachersAdapter.java similarity index 95% rename from app/src/main/java/com/ulan/timetable/adapters/TeachersAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/TeachersAdapter.java index 25e43f4..1e83f5a 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/TeachersAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/TeachersAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import android.content.ActivityNotFoundException; import android.content.Intent; @@ -25,12 +25,12 @@ import androidx.core.widget.ImageViewCompat; import com.pd.chocobar.ChocoBar; -import com.ulan.timetable.R; -import com.ulan.timetable.model.Teacher; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.ColorPalette; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.model.Teacher; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.ColorPalette; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/adapters/WeekAdapter.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/WeekAdapter.java similarity index 91% rename from app/src/main/java/com/ulan/timetable/adapters/WeekAdapter.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/WeekAdapter.java index 4387862..fad4579 100644 --- a/app/src/main/java/com/ulan/timetable/adapters/WeekAdapter.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/adapters/WeekAdapter.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.adapters; +package com.systems.automaton.classtimetableplanner.adapters; import android.annotation.SuppressLint; import android.content.Intent; @@ -23,15 +23,15 @@ import androidx.cardview.widget.CardView; import androidx.core.widget.ImageViewCompat; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.TeachersActivity; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.receivers.DoNotDisturbReceiversKt; -import com.ulan.timetable.utils.AlertDialogsHelper; -import com.ulan.timetable.utils.ColorPalette; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.TeachersActivity; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.receivers.DoNotDisturbReceiversKt; +import com.systems.automaton.classtimetableplanner.utils.AlertDialogsHelper; +import com.systems.automaton.classtimetableplanner.utils.ColorPalette; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/AdManager.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/AdManager.kt new file mode 100644 index 0000000..cf9baf8 --- /dev/null +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/AdManager.kt @@ -0,0 +1,155 @@ +package com.systems.automaton.classtimetableplanner.ads + +import android.annotation.SuppressLint +import android.app.Activity +import android.content.Context +import android.content.ContextWrapper +import android.util.DisplayMetrics +import android.util.Log +import android.view.ViewGroup +import androidx.preference.PreferenceManager +import com.google.android.gms.ads.* +import com.google.android.gms.ads.interstitial.InterstitialAd +import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback +import com.systems.automaton.classtimetableplanner.R + +private const val TAG: String = "AdManager" + +class AdManager { + + private var mInterstitialAd: InterstitialAd? = null + var isDisabled: Boolean = false; private set + var isInitialized: Boolean = false; private set + private var forceShowWhenReadyActivity: Activity? = null + + fun initialize(context: Context) { + if (isInitialized) { + throw IllegalStateException("Can't initialize an already initialized singleton.") + } + + MobileAds.initialize(context) {} + val requestConfiguration = RequestConfiguration.Builder() + .setTestDeviceIds(listOf(AdRequest.DEVICE_ID_EMULATOR, context.getString(R.string.physical_device_id))) + .build() + MobileAds.setRequestConfiguration(requestConfiguration) + + val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context) + isDisabled = sharedPrefs.getBoolean(context.getString(R.string.sp_remove_ads), false) == true + + //prepareAd(context) + } + + fun createAdView(context: Context, viewGroup: ViewGroup) { + + if (isDisabled) { + return + } + + val localAdView = AdView(context) + viewGroup.addView(localAdView) + localAdView.adUnitId = context.getString(R.string.ad_unit_id) + localAdView.setAdSize(getAdSize(context, viewGroup)) + localAdView.loadAd(AdRequest.Builder().build()) + } + + fun showAd(activity: Activity, forceShowWhenReady: Boolean = false) { + + forceShowWhenReadyActivity = null + + if (isDisabled) { + return + } + + if (forceShowWhenReady) { + forceShowWhenReadyActivity = activity + } + + if (mInterstitialAd != null) { + mInterstitialAd?.show(activity) + } else { + Log.d(TAG, "The interstitial ad wasn't ready yet.") + } + } + + private fun prepareAd(context: Context) { + + if (isDisabled) { + return + } + + val adRequest = AdRequest.Builder().build() + InterstitialAd.load(context, context.getString(R.string.ad_unit_id), adRequest, object : InterstitialAdLoadCallback() { + override fun onAdFailedToLoad(adError: LoadAdError) { + Log.d(TAG, adError.message) + mInterstitialAd = null + forceShowWhenReadyActivity = null + } + + override fun onAdLoaded(interstitialAd: InterstitialAd) { + Log.d(TAG, "Ad was loaded.") + + if (isDisabled) { + return + } + + mInterstitialAd = interstitialAd + + interstitialAd.fullScreenContentCallback = object: FullScreenContentCallback() { + override fun onAdDismissedFullScreenContent() { + Log.d(TAG, "Ad was dismissed.") + prepareAd(context) + } + + override fun onAdShowedFullScreenContent() { + Log.d(TAG, "Ad showed fullscreen content.") + mInterstitialAd = null + } + } + + forceShowWhenReadyActivity?.let { + mInterstitialAd?.show(it) + forceShowWhenReadyActivity = null + } + } + }) + } + + private fun getAdSize(context: Context, viewGroup: ViewGroup): AdSize { + val display = context.getActivity()?.windowManager?.defaultDisplay + val outMetrics = DisplayMetrics() + display?.getMetrics(outMetrics) + + val density = outMetrics.density + + var adWidthPixels = viewGroup.width.toFloat() + if (adWidthPixels == 0f) { + adWidthPixels = outMetrics.widthPixels.toFloat() + } + + val adWidth = (adWidthPixels / density).toInt() + return AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adWidth) + } + + fun disableAds() { + isDisabled = true + mInterstitialAd = null + forceShowWhenReadyActivity = null + } + + companion object { + @JvmField + @SuppressLint("StaticFieldLeak") + val instance = AdManager() + } +} + +@SuppressLint("StaticFieldLeak") +private var lastKnownActivity: Activity? = null +fun Context.getActivity(): Activity? { + if (this is Activity) { + lastKnownActivity = this + } else if (this is ContextWrapper) { + lastKnownActivity = baseContext.getActivity() + } + return lastKnownActivity +} \ No newline at end of file diff --git a/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/BillingManager.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/BillingManager.kt new file mode 100644 index 0000000..03cafb2 --- /dev/null +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/BillingManager.kt @@ -0,0 +1,144 @@ +package com.systems.automaton.classtimetableplanner.ads + +import android.app.Activity +import android.content.Context +import android.util.Log +import android.widget.Toast +import androidx.preference.PreferenceManager +import com.android.billingclient.api.* +import com.systems.automaton.classtimetableplanner.BuildConfig +import com.systems.automaton.classtimetableplanner.R + +private const val TAG: String = "BillingManager" + +class BillingManager { + + private lateinit var billingClient: BillingClient + private var productDetails: ProductDetails? = null + var isInitialized: Boolean = false; private set + + fun initialize(context: Context) { + if (isInitialized) { + throw IllegalStateException("Can't initialize an already initialized singleton.") + } + + billingClient = BillingClient.newBuilder(context) + .setListener { _, _ -> + checkPurchases(context) + } + .enablePendingPurchases() + .build() + + billingClient.startConnection(object : BillingClientStateListener { + override fun onBillingSetupFinished(billingResult: BillingResult) { + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK + && productDetails == null) { + + val productList = listOf( + QueryProductDetailsParams.Product.newBuilder() + .setProductId(context.getString(R.string.ad_remove_product_name)) + .setProductType(BillingClient.ProductType.INAPP) + .build()) + val params = QueryProductDetailsParams.newBuilder() + .setProductList(productList) + .build() + billingClient.queryProductDetailsAsync(params) { queryProductBillingResult, productDetailsList -> + if (queryProductBillingResult.responseCode == BillingClient.BillingResponseCode.OK) { + productDetails = productDetailsList.firstOrNull() + } + } + + checkPurchases(context) + } + } + override fun onBillingServiceDisconnected() { + // Try to restart the connection on the next request to + // Google Play by calling the startConnection() method. + } + }) + } + + private fun checkPurchases(context: Context) { + val params = QueryPurchasesParams.newBuilder() + .setProductType(BillingClient.ProductType.INAPP) + .build() + billingClient.queryPurchasesAsync(params) { billingResult, purchaseList -> + if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { + val purchaseItem = purchaseList.firstOrNull { purchase -> + purchase.products.contains(context.getString(R.string.ad_remove_product_name)) + } + val unAckPurchasedItem = purchaseList.firstOrNull { purchase -> + !purchase.isAcknowledged + && purchase.products.contains(context.getString(R.string.ad_remove_product_name)) + } + if (unAckPurchasedItem != null) { + val ackParams = AcknowledgePurchaseParams.newBuilder() + .setPurchaseToken(unAckPurchasedItem.purchaseToken) + .build() + billingClient.acknowledgePurchase(ackParams) { } + + context.getActivity()?.let { + it.runOnUiThread { + AdManager.instance.disableAds() + it.recreate() + Toast.makeText(context, context.getString(R.string.thank_you_purchase), Toast.LENGTH_SHORT).show() + } + } + } + if (purchaseItem != null) { + AdManager.instance.disableAds() + + val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context) + val editor = sharedPrefs.edit() + editor.putBoolean(context.getString(R.string.sp_remove_ads), true) + editor.apply() + + // TESTING: consume the purchase if we refunded. + //testingConsumePurchase(purchaseItem) + } else { + val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context) + val editor = sharedPrefs.edit() + editor.putBoolean(context.getString(R.string.sp_remove_ads), false) + editor.apply() + } + } else { + Log.d(TAG, "checkPurchases has billingResult of ${billingResult.responseCode} -- ${billingResult.debugMessage}") + } + } + } + + fun buy(activity: Activity) { + (activity as Context).getActivity() + + productDetails?.let { + val productDetailsParams = BillingFlowParams.ProductDetailsParams.newBuilder() + .setProductDetails(it) + .build() + val flowParams = BillingFlowParams.newBuilder() + .setProductDetailsParamsList(listOf(productDetailsParams)) + .build() + billingClient.launchBillingFlow(activity, flowParams) + } + } + + fun testingConsumePurchase(purchaseItem: Purchase?) { + + if (!BuildConfig.DEBUG) { + return + } + + purchaseItem?.let { + val params = ConsumeParams.newBuilder() + .setPurchaseToken(it.purchaseToken) + .build() + billingClient.consumeAsync(params) { billingResult, purchaseToken -> + Log.d(TAG, "consumedPurchase -- $billingResult $purchaseToken") + } + } + } + + companion object { + @JvmField + val instance = BillingManager() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/EventManager.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/EventManager.kt new file mode 100644 index 0000000..8473eb5 --- /dev/null +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/ads/EventManager.kt @@ -0,0 +1,25 @@ +package com.systems.automaton.classtimetableplanner.ads + +import android.content.Context +import com.google.firebase.analytics.FirebaseAnalytics + +class EventManager { + + var isInitialized: Boolean = false; private set + private lateinit var firebaseAnalytics: FirebaseAnalytics + + fun initialize(context: Context) { + + if (isInitialized) { + throw IllegalStateException("Can't initialize an already initialized singleton.") + } + + firebaseAnalytics = FirebaseAnalytics.getInstance(context) + isInitialized = true + } + + companion object { + @JvmField + val instance = EventManager() + } +} \ No newline at end of file diff --git a/app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConfigureActivity.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConfigureActivity.java similarity index 95% rename from app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConfigureActivity.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConfigureActivity.java index 2006ad9..4ca281b 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConfigureActivity.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConfigureActivity.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget; +package com.systems.automaton.classtimetableplanner.appwidget; import android.app.Activity; import android.appwidget.AppWidgetManager; @@ -18,11 +18,11 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.ulan.timetable.R; -import com.ulan.timetable.appwidget.Dao.AppWidgetDao; -import com.ulan.timetable.profiles.Profile; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.appwidget.Dao.AppWidgetDao; +import com.systems.automaton.classtimetableplanner.profiles.Profile; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import org.jetbrains.annotations.NotNull; diff --git a/app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConstants.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConstants.java similarity index 78% rename from app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConstants.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConstants.java index 15e030c..d88a67a 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/AppWidgetConstants.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/AppWidgetConstants.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget; +package com.systems.automaton.classtimetableplanner.appwidget; /** * From https://github.com/SubhamTyagi/TimeTable diff --git a/app/src/main/java/com/ulan/timetable/appwidget/Dao/AppWidgetDao.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/AppWidgetDao.java similarity index 99% rename from app/src/main/java/com/ulan/timetable/appwidget/Dao/AppWidgetDao.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/AppWidgetDao.java index bdd736c..d8d7229 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/Dao/AppWidgetDao.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/AppWidgetDao.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget.Dao; +package com.systems.automaton.classtimetableplanner.appwidget.Dao; import android.content.ContentValues; import android.content.Context; diff --git a/app/src/main/java/com/ulan/timetable/appwidget/Dao/BaseDao.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/BaseDao.java similarity index 98% rename from app/src/main/java/com/ulan/timetable/appwidget/Dao/BaseDao.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/BaseDao.java index b11c987..7d84cce 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/Dao/BaseDao.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/BaseDao.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget.Dao; +package com.systems.automaton.classtimetableplanner.appwidget.Dao; import android.content.ContentValues; import android.database.Cursor; diff --git a/app/src/main/java/com/ulan/timetable/appwidget/Dao/DBManager.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DBManager.java similarity index 91% rename from app/src/main/java/com/ulan/timetable/appwidget/Dao/DBManager.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DBManager.java index 2bde6b3..05f0605 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/Dao/DBManager.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DBManager.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget.Dao; +package com.systems.automaton.classtimetableplanner.appwidget.Dao; import android.content.Context; import android.database.sqlite.SQLiteDatabase; diff --git a/app/src/main/java/com/ulan/timetable/appwidget/Dao/DataBaseHelper.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DataBaseHelper.java similarity index 98% rename from app/src/main/java/com/ulan/timetable/appwidget/Dao/DataBaseHelper.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DataBaseHelper.java index 6e8e806..238bed1 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/Dao/DataBaseHelper.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/Dao/DataBaseHelper.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget.Dao; +package com.systems.automaton.classtimetableplanner.appwidget.Dao; import android.content.Context; import android.database.sqlite.SQLiteDatabase; diff --git a/app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetProvider.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetProvider.java similarity index 86% rename from app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetProvider.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetProvider.java index 8136f60..b2b957f 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetProvider.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetProvider.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget; +package com.systems.automaton.classtimetableplanner.appwidget; import android.app.AlarmManager; import android.app.PendingIntent; @@ -9,16 +9,17 @@ import android.content.Intent; import android.graphics.Color; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.view.View; import android.widget.RemoteViews; import androidx.annotation.NonNull; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.MainActivity; -import com.ulan.timetable.appwidget.Dao.AppWidgetDao; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.MainActivity; +import com.systems.automaton.classtimetableplanner.appwidget.Dao.AppWidgetDao; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.text.SimpleDateFormat; import java.util.Calendar; @@ -31,10 +32,10 @@ public class DayAppWidgetProvider extends AppWidgetProvider { int lastAppWidgetId = 0; String lastAction = null; - private static final String ACTION_RESTORE = "com.ulan.timetable" + ".ACTION_RESTORE"; - private static final String ACTION_YESTERDAY = "com.ulan.timetable" + ".ACTION_YESTERDAY"; - private static final String ACTION_TOMORROW = "com.ulan.timetable" + ".ACTION_TOMORROW"; - private static final String ACTION_NEW_DAY = "com.ulan.timetable" + ".ACTION_NEW_DAY"; + private static final String ACTION_RESTORE = "com.systems.automaton.classtimetableplanner" + ".ACTION_RESTORE"; + private static final String ACTION_YESTERDAY = "com.systems.automaton.classtimetableplanner" + ".ACTION_YESTERDAY"; + private static final String ACTION_TOMORROW = "com.systems.automaton.classtimetableplanner" + ".ACTION_TOMORROW"; + private static final String ACTION_NEW_DAY = "com.systems.automaton.classtimetableplanner" + ".ACTION_NEW_DAY"; private static final int ONE_DAY_MILLIS = 86400000; @@ -119,7 +120,13 @@ private PendingIntent makePendingIntent(Context context, int appWidgetId, String intent.setAction(action); intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId); intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME))); - return PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + } + return pendingIntent; } static void updateAppWidgetConfig(@NonNull AppWidgetManager appWidgetManager, int appWidgetId, int backgroundColor, int timeStyle, int profile, @NonNull Context context) { @@ -202,7 +209,12 @@ private void registerNewDayBroadcast(@NonNull Context context) { Intent intent = new Intent(context, DayAppWidgetProvider.class); intent.setAction(ACTION_NEW_DAY); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE); + } else { + pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); + } Calendar midnight = Calendar.getInstance(Locale.getDefault()); midnight.set(Calendar.HOUR_OF_DAY, 0); diff --git a/app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetService.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetService.java similarity index 86% rename from app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetService.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetService.java index 298e82a..80584f0 100644 --- a/app/src/main/java/com/ulan/timetable/appwidget/DayAppWidgetService.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/appwidget/DayAppWidgetService.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.appwidget; +package com.systems.automaton.classtimetableplanner.appwidget; import android.appwidget.AppWidgetManager; import android.content.Context; @@ -9,18 +9,18 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.ulan.timetable.R; -import com.ulan.timetable.appwidget.Dao.AppWidgetDao; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.appwidget.Dao.AppWidgetDao; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.ArrayList; import java.util.Calendar; -import static com.ulan.timetable.utils.NotificationUtil.getCurrentDay; +import static com.systems.automaton.classtimetableplanner.utils.NotificationUtil.getCurrentDay; /** * From https://github.com/SubhamTyagi/TimeTable diff --git a/app/src/main/java/com/ulan/timetable/fragments/NotificationSettingsFragment.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/NotificationSettingsFragment.java similarity index 89% rename from app/src/main/java/com/ulan/timetable/fragments/NotificationSettingsFragment.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/NotificationSettingsFragment.java index 6fe0a29..d2cf016 100644 --- a/app/src/main/java/com/ulan/timetable/fragments/NotificationSettingsFragment.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/NotificationSettingsFragment.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.fragments; +package com.systems.automaton.classtimetableplanner.fragments; import android.app.AlarmManager; import android.app.TimePickerDialog; @@ -11,11 +11,11 @@ import androidx.preference.SwitchPreferenceCompat; import com.afollestad.materialdialogs.MaterialDialog; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.SettingsActivity; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.receivers.DailyReceiver; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.SettingsActivity; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.receivers.DailyReceiver; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/fragments/ProfileActivityFragment.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/ProfileActivityFragment.java similarity index 96% rename from app/src/main/java/com/ulan/timetable/fragments/ProfileActivityFragment.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/ProfileActivityFragment.java index 28070f3..b0d6d9c 100644 --- a/app/src/main/java/com/ulan/timetable/fragments/ProfileActivityFragment.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/ProfileActivityFragment.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.fragments; +package com.systems.automaton.classtimetableplanner.fragments; import android.content.Context; import android.os.Bundle; @@ -36,10 +36,10 @@ import androidx.fragment.app.Fragment; import com.afollestad.materialdialogs.MaterialDialog; -import com.ulan.timetable.R; -import com.ulan.timetable.profiles.Profile; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.profiles.Profile; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; import org.jetbrains.annotations.NotNull; diff --git a/app/src/main/java/com/ulan/timetable/fragments/SettingsFragment.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/SettingsFragment.java similarity index 94% rename from app/src/main/java/com/ulan/timetable/fragments/SettingsFragment.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/SettingsFragment.java index f913341..36af58e 100644 --- a/app/src/main/java/com/ulan/timetable/fragments/SettingsFragment.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/SettingsFragment.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.fragments; +package com.systems.automaton.classtimetableplanner.fragments; import android.content.Intent; import android.content.SharedPreferences; @@ -13,10 +13,10 @@ import androidx.preference.PreferenceManager; import com.afollestad.materialdialogs.MaterialDialog; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.TimeSettingsActivity; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.TimeSettingsActivity; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; import java.util.ArrayList; import java.util.Arrays; diff --git a/app/src/main/java/com/ulan/timetable/fragments/TimeSettingsFragment.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/TimeSettingsFragment.java similarity index 94% rename from app/src/main/java/com/ulan/timetable/fragments/TimeSettingsFragment.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/TimeSettingsFragment.java index 7a57eed..53c3a1e 100644 --- a/app/src/main/java/com/ulan/timetable/fragments/TimeSettingsFragment.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/TimeSettingsFragment.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.fragments; +package com.systems.automaton.classtimetableplanner.fragments; import android.app.DatePickerDialog; import android.app.TimePickerDialog; @@ -9,9 +9,9 @@ import androidx.preference.PreferenceFragmentCompat; import com.afollestad.materialdialogs.MaterialDialog; -import com.ulan.timetable.R; -import com.ulan.timetable.utils.PreferenceUtil; -import com.ulan.timetable.utils.WeekUtils; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.WeekUtils; import java.util.Calendar; import java.util.Date; diff --git a/app/src/main/java/com/ulan/timetable/fragments/WeekdayFragment.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/WeekdayFragment.java similarity index 84% rename from app/src/main/java/com/ulan/timetable/fragments/WeekdayFragment.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/WeekdayFragment.java index 952db97..f06b95a 100644 --- a/app/src/main/java/com/ulan/timetable/fragments/WeekdayFragment.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/fragments/WeekdayFragment.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.fragments; +package com.systems.automaton.classtimetableplanner.fragments; import android.os.Bundle; import android.view.LayoutInflater; @@ -29,11 +29,12 @@ import androidx.appcompat.app.AppCompatActivity; import androidx.fragment.app.Fragment; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.WeekAdapter; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.utils.DbHelper; -import com.ulan.timetable.utils.FragmentHelper; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.WeekAdapter; +import com.systems.automaton.classtimetableplanner.ads.AdManager; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.utils.DbHelper; +import com.systems.automaton.classtimetableplanner.utils.FragmentHelper; import java.util.ArrayList; @@ -69,6 +70,7 @@ public WeekdayFragment() { public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_weekday, container, false); + AdManager.instance.createAdView(requireContext(), view.findViewById(R.id.ad_container)); return view; } diff --git a/app/src/main/java/com/ulan/timetable/model/Exam.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Exam.java similarity index 95% rename from app/src/main/java/com/ulan/timetable/model/Exam.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/model/Exam.java index 41cde32..ea8fc90 100644 --- a/app/src/main/java/com/ulan/timetable/model/Exam.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Exam.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.model; +package com.systems.automaton.classtimetableplanner.model; /** * Created by Ulan on 07.12.2018. diff --git a/app/src/main/java/com/ulan/timetable/model/Homework.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Homework.java similarity index 94% rename from app/src/main/java/com/ulan/timetable/model/Homework.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/model/Homework.java index ce3051a..934332a 100644 --- a/app/src/main/java/com/ulan/timetable/model/Homework.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Homework.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.model; +package com.systems.automaton.classtimetableplanner.model; /** * Created by Ulan on 21.09.2018. diff --git a/app/src/main/java/com/ulan/timetable/model/Note.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Note.java similarity index 93% rename from app/src/main/java/com/ulan/timetable/model/Note.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/model/Note.java index f31a66e..046ac82 100644 --- a/app/src/main/java/com/ulan/timetable/model/Note.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Note.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.model; +package com.systems.automaton.classtimetableplanner.model; import java.io.Serializable; diff --git a/app/src/main/java/com/ulan/timetable/model/Teacher.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Teacher.java similarity index 95% rename from app/src/main/java/com/ulan/timetable/model/Teacher.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/model/Teacher.java index 2185a3f..d1fa647 100644 --- a/app/src/main/java/com/ulan/timetable/model/Teacher.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Teacher.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.model; +package com.systems.automaton.classtimetableplanner.model; /** * Created by Ulan on 07.10.2018. diff --git a/app/src/main/java/com/ulan/timetable/model/Week.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Week.java similarity index 96% rename from app/src/main/java/com/ulan/timetable/model/Week.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/model/Week.java index 17caa03..3961c06 100644 --- a/app/src/main/java/com/ulan/timetable/model/Week.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/model/Week.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.model; +package com.systems.automaton.classtimetableplanner.model; import org.jetbrains.annotations.NotNull; diff --git a/app/src/main/java/com/ulan/timetable/profiles/Profile.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/Profile.java similarity index 94% rename from app/src/main/java/com/ulan/timetable/profiles/Profile.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/Profile.java index c7a43d9..5e9841b 100644 --- a/app/src/main/java/com/ulan/timetable/profiles/Profile.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/Profile.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.profiles; +package com.systems.automaton.classtimetableplanner.profiles; import org.jetbrains.annotations.NotNull; diff --git a/app/src/main/java/com/ulan/timetable/profiles/ProfileManagement.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/ProfileManagement.java similarity index 97% rename from app/src/main/java/com/ulan/timetable/profiles/ProfileManagement.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/ProfileManagement.java index 772f9ad..abb9586 100644 --- a/app/src/main/java/com/ulan/timetable/profiles/ProfileManagement.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/profiles/ProfileManagement.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.profiles; +package com.systems.automaton.classtimetableplanner.profiles; import android.content.Context; import android.content.SharedPreferences; @@ -25,7 +25,7 @@ import androidx.annotation.Nullable; import androidx.preference.PreferenceManager; -import com.ulan.timetable.R; +import com.systems.automaton.classtimetableplanner.R; import java.util.ArrayList; diff --git a/app/src/main/java/com/ulan/timetable/receivers/DailyReceiver.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DailyReceiver.java similarity index 90% rename from app/src/main/java/com/ulan/timetable/receivers/DailyReceiver.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DailyReceiver.java index e83a2d0..49cbc74 100644 --- a/app/src/main/java/com/ulan/timetable/receivers/DailyReceiver.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DailyReceiver.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.receivers; +package com.systems.automaton.classtimetableplanner.receivers; import android.app.AlarmManager; import android.content.BroadcastReceiver; @@ -25,8 +25,8 @@ import androidx.annotation.NonNull; -import com.ulan.timetable.utils.NotificationUtil; -import com.ulan.timetable.utils.PreferenceUtil; +import com.systems.automaton.classtimetableplanner.utils.NotificationUtil; +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil; /** * Created by Ulan on 28.01.2019. diff --git a/app/src/main/java/com/ulan/timetable/receivers/DoNotDisturbReceivers.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DoNotDisturbReceivers.kt similarity index 94% rename from app/src/main/java/com/ulan/timetable/receivers/DoNotDisturbReceivers.kt rename to app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DoNotDisturbReceivers.kt index 856d36e..66b3d01 100644 --- a/app/src/main/java/com/ulan/timetable/receivers/DoNotDisturbReceivers.kt +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/DoNotDisturbReceivers.kt @@ -16,17 +16,17 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.receivers +package com.systems.automaton.classtimetableplanner.receivers import android.app.NotificationManager import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.os.Build -import com.ulan.timetable.profiles.ProfileManagement -import com.ulan.timetable.utils.DbHelper -import com.ulan.timetable.utils.NotificationUtil -import com.ulan.timetable.utils.PreferenceUtil +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement +import com.systems.automaton.classtimetableplanner.utils.DbHelper +import com.systems.automaton.classtimetableplanner.utils.NotificationUtil +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil import java.util.* class TurnOnReceiver : BroadcastReceiver() { diff --git a/app/src/main/java/com/ulan/timetable/receivers/MidnightReceiver.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/MidnightReceiver.kt similarity index 88% rename from app/src/main/java/com/ulan/timetable/receivers/MidnightReceiver.kt rename to app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/MidnightReceiver.kt index acbecf3..82bbedc 100644 --- a/app/src/main/java/com/ulan/timetable/receivers/MidnightReceiver.kt +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/MidnightReceiver.kt @@ -1,9 +1,9 @@ -package com.ulan.timetable.receivers +package com.systems.automaton.classtimetableplanner.receivers import android.content.BroadcastReceiver import android.content.Context import android.content.Intent -import com.ulan.timetable.utils.PreferenceUtil +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil class MidnightReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { diff --git a/app/src/main/java/com/ulan/timetable/receivers/NotificationDismissButtonReceiver.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/NotificationDismissButtonReceiver.java similarity index 96% rename from app/src/main/java/com/ulan/timetable/receivers/NotificationDismissButtonReceiver.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/NotificationDismissButtonReceiver.java index 85e1631..b55db70 100755 --- a/app/src/main/java/com/ulan/timetable/receivers/NotificationDismissButtonReceiver.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/NotificationDismissButtonReceiver.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.receivers; +package com.systems.automaton.classtimetableplanner.receivers; import android.app.NotificationManager; import android.content.BroadcastReceiver; diff --git a/app/src/main/java/com/ulan/timetable/receivers/SubjectReminderReceiver.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/SubjectReminderReceiver.kt similarity index 86% rename from app/src/main/java/com/ulan/timetable/receivers/SubjectReminderReceiver.kt rename to app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/SubjectReminderReceiver.kt index 0a790a6..a577cbb 100644 --- a/app/src/main/java/com/ulan/timetable/receivers/SubjectReminderReceiver.kt +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/receivers/SubjectReminderReceiver.kt @@ -1,12 +1,12 @@ -package com.ulan.timetable.receivers +package com.systems.automaton.classtimetableplanner.receivers import android.content.BroadcastReceiver import android.content.Context import android.content.Intent -import com.ulan.timetable.profiles.ProfileManagement -import com.ulan.timetable.utils.DbHelper -import com.ulan.timetable.utils.NotificationUtil -import com.ulan.timetable.utils.PreferenceUtil +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement +import com.systems.automaton.classtimetableplanner.utils.DbHelper +import com.systems.automaton.classtimetableplanner.utils.NotificationUtil +import com.systems.automaton.classtimetableplanner.utils.PreferenceUtil import java.util.* class SubjectReminderReceiver : BroadcastReceiver() { diff --git a/app/src/main/java/com/ulan/timetable/utils/AlertDialogsHelper.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/AlertDialogsHelper.java similarity index 98% rename from app/src/main/java/com/ulan/timetable/utils/AlertDialogsHelper.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/AlertDialogsHelper.java index ea6274d..9221aa8 100644 --- a/app/src/main/java/com/ulan/timetable/utils/AlertDialogsHelper.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/AlertDialogsHelper.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.app.DatePickerDialog; import android.app.TimePickerDialog; @@ -31,19 +31,19 @@ import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.snackbar.Snackbar; import com.pd.chocobar.ChocoBar; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.ExamsAdapter; -import com.ulan.timetable.adapters.FragmentsTabAdapter; -import com.ulan.timetable.adapters.HomeworkAdapter; -import com.ulan.timetable.adapters.NotesAdapter; -import com.ulan.timetable.adapters.TeachersAdapter; -import com.ulan.timetable.fragments.WeekdayFragment; -import com.ulan.timetable.model.Exam; -import com.ulan.timetable.model.Homework; -import com.ulan.timetable.model.Note; -import com.ulan.timetable.model.Teacher; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.receivers.DoNotDisturbReceiversKt; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.ExamsAdapter; +import com.systems.automaton.classtimetableplanner.adapters.FragmentsTabAdapter; +import com.systems.automaton.classtimetableplanner.adapters.HomeworkAdapter; +import com.systems.automaton.classtimetableplanner.adapters.NotesAdapter; +import com.systems.automaton.classtimetableplanner.adapters.TeachersAdapter; +import com.systems.automaton.classtimetableplanner.fragments.WeekdayFragment; +import com.systems.automaton.classtimetableplanner.model.Exam; +import com.systems.automaton.classtimetableplanner.model.Homework; +import com.systems.automaton.classtimetableplanner.model.Note; +import com.systems.automaton.classtimetableplanner.model.Teacher; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.receivers.DoNotDisturbReceiversKt; import java.util.ArrayList; import java.util.Calendar; diff --git a/app/src/main/java/com/ulan/timetable/utils/ColorPalette.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ColorPalette.java similarity index 97% rename from app/src/main/java/com/ulan/timetable/utils/ColorPalette.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ColorPalette.java index 8d6bb2d..e4f356c 100644 --- a/app/src/main/java/com/ulan/timetable/utils/ColorPalette.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ColorPalette.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.graphics.Color; diff --git a/app/src/main/java/com/ulan/timetable/utils/DbHelper.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/DbHelper.java similarity index 97% rename from app/src/main/java/com/ulan/timetable/utils/DbHelper.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/DbHelper.java index 763ee92..77b53c4 100644 --- a/app/src/main/java/com/ulan/timetable/utils/DbHelper.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/DbHelper.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.content.ContentValues; import android.content.Context; @@ -8,13 +8,13 @@ import androidx.annotation.NonNull; -import com.ulan.timetable.fragments.WeekdayFragment; -import com.ulan.timetable.model.Exam; -import com.ulan.timetable.model.Homework; -import com.ulan.timetable.model.Note; -import com.ulan.timetable.model.Teacher; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.fragments.WeekdayFragment; +import com.systems.automaton.classtimetableplanner.model.Exam; +import com.systems.automaton.classtimetableplanner.model.Homework; +import com.systems.automaton.classtimetableplanner.model.Note; +import com.systems.automaton.classtimetableplanner.model.Teacher; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; import java.util.ArrayList; import java.util.Calendar; diff --git a/app/src/main/java/com/ulan/timetable/utils/FragmentHelper.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/FragmentHelper.java similarity index 91% rename from app/src/main/java/com/ulan/timetable/utils/FragmentHelper.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/FragmentHelper.java index a45dbcf..5c5557e 100644 --- a/app/src/main/java/com/ulan/timetable/utils/FragmentHelper.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/FragmentHelper.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.util.SparseBooleanArray; import android.view.ActionMode; @@ -11,9 +11,9 @@ import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.adapters.WeekAdapter; -import com.ulan.timetable.model.Week; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.adapters.WeekAdapter; +import com.systems.automaton.classtimetableplanner.model.Week; import java.util.ArrayList; import java.util.Objects; diff --git a/app/src/main/java/com/ulan/timetable/utils/LinedEditText.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/LinedEditText.java similarity index 95% rename from app/src/main/java/com/ulan/timetable/utils/LinedEditText.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/LinedEditText.java index f9b50be..0f6a8cf 100644 --- a/app/src/main/java/com/ulan/timetable/utils/LinedEditText.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/LinedEditText.java @@ -1,4 +1,4 @@ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.annotation.SuppressLint; import android.content.Context; diff --git a/app/src/main/java/com/ulan/timetable/utils/NotificationUtil.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/NotificationUtil.java similarity index 92% rename from app/src/main/java/com/ulan/timetable/utils/NotificationUtil.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/NotificationUtil.java index bbdb118..a3d23aa 100644 --- a/app/src/main/java/com/ulan/timetable/utils/NotificationUtil.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/NotificationUtil.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.app.Notification; import android.app.NotificationChannel; @@ -40,11 +40,11 @@ import com.github.stephenvinouze.shapetextdrawable.ShapeForm; import com.github.stephenvinouze.shapetextdrawable.ShapeTextDrawable; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.MainActivity; -import com.ulan.timetable.model.Week; -import com.ulan.timetable.profiles.ProfileManagement; -import com.ulan.timetable.receivers.NotificationDismissButtonReceiver; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.MainActivity; +import com.systems.automaton.classtimetableplanner.model.Week; +import com.systems.automaton.classtimetableplanner.profiles.ProfileManagement; +import com.systems.automaton.classtimetableplanner.receivers.NotificationDismissButtonReceiver; import java.util.ArrayList; import java.util.Calendar; @@ -162,7 +162,7 @@ public static void sendNotificationCurrentLesson(@NonNull Context context, boole } private static void sendNotification(@NonNull Context context, boolean alert, @Nullable NotificationCompat.Builder notificationBuilder, int id) { - if (notificationBuilder == null || !PreferenceUtil.isNotification(context) || Build.VERSION.SDK_INT < 21) + if (notificationBuilder == null || !PreferenceUtil.isNotification(context)) return; @@ -172,7 +172,12 @@ private static void sendNotification(@NonNull Context context, boolean alert, @N Intent notificationIntent = new Intent(context, MainActivity.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(context); stackBuilder.addNextIntentWithParentStack(notificationIntent); - PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); + } else { + pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); + } if (alert) createNotificationChannelLoud(context); @@ -196,7 +201,12 @@ private static void sendNotification(@NonNull Context context, boolean alert, @N //Dismiss button intent Intent buttonIntent = new Intent(context, NotificationDismissButtonReceiver.class); buttonIntent.putExtra(NotificationDismissButtonReceiver.EXTRA_NOTIFICATION_ID, id); - PendingIntent btPendingIntent = PendingIntent.getBroadcast(context, UUID.randomUUID().hashCode(), buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent btPendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + btPendingIntent = PendingIntent.getBroadcast(context, UUID.randomUUID().hashCode(), buttonIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + btPendingIntent = PendingIntent.getBroadcast(context, UUID.randomUUID().hashCode(), buttonIntent, PendingIntent.FLAG_UPDATE_CURRENT); + } mNotifyBuilder.setOngoing(true); mNotifyBuilder.addAction(R.drawable.ic_close_black_24dp, context.getString(R.string.notification_dismiss), btPendingIntent); diff --git a/app/src/main/java/com/ulan/timetable/utils/PreferenceUtil.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/PreferenceUtil.java similarity index 93% rename from app/src/main/java/com/ulan/timetable/utils/PreferenceUtil.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/PreferenceUtil.java index cbcdf5e..4ecaab4 100644 --- a/app/src/main/java/com/ulan/timetable/utils/PreferenceUtil.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/PreferenceUtil.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import static android.content.Context.ALARM_SERVICE; @@ -44,9 +44,9 @@ import androidx.preference.PreferenceManager; import com.afollestad.materialdialogs.MaterialDialog; -import com.ulan.timetable.R; -import com.ulan.timetable.activities.SettingsActivity; -import com.ulan.timetable.receivers.DoNotDisturbReceiversKt; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.activities.SettingsActivity; +import com.systems.automaton.classtimetableplanner.receivers.DoNotDisturbReceiversKt; import java.util.Calendar; import java.util.Collections; @@ -181,7 +181,12 @@ public static void setOneTimeAlarm(@NonNull Context context, @NonNull Class c Intent intent = new Intent(context, cls); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, 0); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, PendingIntent.FLAG_IMMUTABLE); + } else { + pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, 0); + } AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); if (alarmManager == null) @@ -227,7 +232,12 @@ public static void setRepeatingAlarm(@NonNull Context context, @NonNull Class Intent intent = new Intent(context, cls); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, 0); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, PendingIntent.FLAG_IMMUTABLE); + } else { + pendingIntent = PendingIntent.getBroadcast(context.getApplicationContext(), id, intent, 0); + } AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE); if (alarmManager == null) @@ -239,7 +249,12 @@ public static void setRepeatingAlarm(@NonNull Context context, @NonNull Class public static void cancelAlarm(@NonNull Context context, @NonNull Class cls, int id) { Intent intent = new Intent(context, cls); - PendingIntent pendingIntent = PendingIntent.getBroadcast(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent pendingIntent; + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + pendingIntent = PendingIntent.getBroadcast(context, id, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); + } else { + pendingIntent = PendingIntent.getBroadcast(context, id, intent, PendingIntent.FLAG_UPDATE_CURRENT); + } AlarmManager am = (AlarmManager) context.getSystemService(ALARM_SERVICE); Objects.requireNonNull(am).cancel(pendingIntent); pendingIntent.cancel(); diff --git a/app/src/main/java/com/ulan/timetable/utils/ShortcutUtils.kt b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ShortcutUtils.kt similarity index 91% rename from app/src/main/java/com/ulan/timetable/utils/ShortcutUtils.kt rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ShortcutUtils.kt index 3b7051f..6369b44 100644 --- a/app/src/main/java/com/ulan/timetable/utils/ShortcutUtils.kt +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/ShortcutUtils.kt @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.utils +package com.systems.automaton.classtimetableplanner.utils import android.content.Context import android.content.Intent @@ -29,10 +29,10 @@ import android.os.Build import androidx.annotation.RequiresApi import androidx.core.content.ContextCompat import androidx.core.graphics.drawable.toBitmap -import com.ulan.timetable.R -import com.ulan.timetable.activities.HomeworkActivity -import com.ulan.timetable.activities.NotesActivity -import com.ulan.timetable.activities.SummaryActivity +import com.systems.automaton.classtimetableplanner.R +import com.systems.automaton.classtimetableplanner.activities.HomeworkActivity +import com.systems.automaton.classtimetableplanner.activities.NotesActivity +import com.systems.automaton.classtimetableplanner.activities.SummaryActivity @RequiresApi(25) diff --git a/app/src/main/java/com/ulan/timetable/utils/WeekUtils.java b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/WeekUtils.java similarity index 97% rename from app/src/main/java/com/ulan/timetable/utils/WeekUtils.java rename to app/src/main/java/com/systems/automaton/classtimetableplanner/utils/WeekUtils.java index cccd805..3082745 100644 --- a/app/src/main/java/com/ulan/timetable/utils/WeekUtils.java +++ b/app/src/main/java/com/systems/automaton/classtimetableplanner/utils/WeekUtils.java @@ -16,7 +16,7 @@ * along with GymWenApp. If not, see . */ -package com.ulan.timetable.utils; +package com.systems.automaton.classtimetableplanner.utils; import android.content.Context; @@ -24,9 +24,9 @@ import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; -import com.ulan.timetable.R; -import com.ulan.timetable.fragments.WeekdayFragment; -import com.ulan.timetable.model.Week; +import com.systems.automaton.classtimetableplanner.R; +import com.systems.automaton.classtimetableplanner.fragments.WeekdayFragment; +import com.systems.automaton.classtimetableplanner.model.Week; import org.jetbrains.annotations.NotNull; 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..a676b8b --- /dev/null +++ b/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/app/src/main/res/drawable/launch_screen.xml b/app/src/main/res/drawable/launch_screen.xml index dcc73bf..904f426 100644 --- a/app/src/main/res/drawable/launch_screen.xml +++ b/app/src/main/res/drawable/launch_screen.xml @@ -17,12 +17,7 @@ --> - - - - - - + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_exams.xml b/app/src/main/res/layout/activity_exams.xml index 30421bf..54bdcef 100644 --- a/app/src/main/res/layout/activity_exams.xml +++ b/app/src/main/res/layout/activity_exams.xml @@ -29,7 +29,16 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:layout_margin="@dimen/fab_margin" + android:layout_marginEnd="@dimen/fab_margin" + android:layout_marginBottom="@dimen/fab_margin_bottom" app:srcCompat="@drawable/ic_add_black_24dp" /> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_homeworks.xml b/app/src/main/res/layout/activity_homeworks.xml index e3dea23..2b7aa3e 100644 --- a/app/src/main/res/layout/activity_homeworks.xml +++ b/app/src/main/res/layout/activity_homeworks.xml @@ -31,7 +31,16 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:layout_margin="@dimen/fab_margin" + android:layout_marginEnd="@dimen/fab_margin" + android:layout_marginBottom="@dimen/fab_margin_bottom" app:srcCompat="@drawable/ic_add_black_24dp" /> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_note_info.xml b/app/src/main/res/layout/activity_note_info.xml index 8937a20..6b64b61 100644 --- a/app/src/main/res/layout/activity_note_info.xml +++ b/app/src/main/res/layout/activity_note_info.xml @@ -4,9 +4,9 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context="com.ulan.timetable.activities.NoteInfoActivity"> + tools:context="com.systems.automaton.classtimetableplanner.activities.NoteInfoActivity"> - + tools:context="com.systems.automaton.classtimetableplanner.activities.NotesActivity"> + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_profile.xml b/app/src/main/res/layout/activity_profile.xml index 7ff1b48..e2e7813 100644 --- a/app/src/main/res/layout/activity_profile.xml +++ b/app/src/main/res/layout/activity_profile.xml @@ -31,7 +31,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|end" - android:layout_margin="@dimen/fab_margin" + android:layout_marginEnd="@dimen/fab_margin" + android:layout_marginBottom="@dimen/fab_margin_bottom" app:srcCompat="@drawable/ic_baseline_person_add_24" /> \ No newline at end of file diff --git a/app/src/main/res/layout/activity_summary.xml b/app/src/main/res/layout/activity_summary.xml index 3663411..1609fd8 100644 --- a/app/src/main/res/layout/activity_summary.xml +++ b/app/src/main/res/layout/activity_summary.xml @@ -18,4 +18,12 @@ + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_teachers.xml b/app/src/main/res/layout/activity_teachers.xml index f3bdc9d..42656f8 100644 --- a/app/src/main/res/layout/activity_teachers.xml +++ b/app/src/main/res/layout/activity_teachers.xml @@ -5,7 +5,7 @@ android:id="@+id/coordinatorTeachers" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".activities.NotesActivity" + tools:context="com.systems.automaton.classtimetableplanner.activities.NotesActivity" android:orientation="vertical"> + + + \ 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 69fc2c6..f1e99b7 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -5,7 +5,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - tools:context="com.ulan.timetable.activities.MainActivity"> + tools:context="com.systems.automaton.classtimetableplanner.activities.MainActivity"> diff --git a/app/src/main/res/layout/fragment_weekday.xml b/app/src/main/res/layout/fragment_weekday.xml index 9c987f4..40c9068 100644 --- a/app/src/main/res/layout/fragment_weekday.xml +++ b/app/src/main/res/layout/fragment_weekday.xml @@ -1,14 +1,26 @@ - - + + + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml index fd9f09b..2a3f498 100755 --- a/app/src/main/res/layout/nav_header_main.xml +++ b/app/src/main/res/layout/nav_header_main.xml @@ -31,51 +31,17 @@ - - - - - - - - - - diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 8f8fe7d..b2ed0ee 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -42,6 +42,7 @@ android:checkableBehavior="none"> + + + + diff --git a/app/src/main/res/menu/main.xml b/app/src/main/res/menu/main.xml index 299c8c3..3f50ffa 100644 --- a/app/src/main/res/menu/main.xml +++ b/app/src/main/res/menu/main.xml @@ -8,13 +8,6 @@ android:icon="@drawable/ic_people_black_24dp" app:iconTint="@android:color/white" app:showAsAction="ifRoom" /> - + tools:context="com.systems.automaton.classtimetableplanner.activities.MainActivity"> - - + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml index c9ad5f9..7353dbd 100644 --- a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/ic_launcher.png index 74a2fd6..9eb1bb8 100644 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png deleted file mode 100644 index 4ea2f7d..0000000 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png index 824074301..f3cf3f2 100644 Binary files a/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/ic_launcher.png index 64ce254..c54845e 100644 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png deleted file mode 100644 index 94447e6..0000000 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png index 7bf2f7d..d0292bc 100644 Binary files a/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 6316c06..411d393 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png deleted file mode 100644 index c61b52c..0000000 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png index 323caf8..62cb2a3 100644 Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 7bf5374..0d4b03e 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 761090d..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index a4a207b..ff353b8 100644 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index dd4f67d..4445316 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png deleted file mode 100644 index 0b5e5cf..0000000 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png index d2d049f..8e6b7bb 100644 Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 4985dbc..5309e38 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -235,7 +235,7 @@ Keine Fächer Bestätigen Intensität der Hintergrundfarbe(%d%%) - Stundenplan + Class Timetable Planner Auswählen Stunde Uhrzeiten statt Stunden anzeigen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index abb91dc..841c54e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1,5 +1,5 @@ - Cronograma + Class Timetable Planner Abrir caja de navegación Cerrar caja de navegación Ajustes diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c45c430..d0de0d4 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1,7 +1,7 @@ - Emploi du temps + Class Timetable Planner Ouvrir le tiroir de navigation Fermer le tiroir de navigation Paramètres diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 47861a2..0bb738c 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1,7 +1,7 @@ - Orario + Class Timetable Planner Aprire il cassetto di navigazione Chiudere il cassetto di navigazione Impostazioni diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 3618a02..885afaf 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1,6 +1,6 @@ - Расписание + Class Timetable Planner Открыть панель навигации Скрыть панель навигации Настройки diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 5cfb567..68a5432 100755 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -17,28 +17,28 @@ --> - #2196F3 - #1976D2 - #f37f21 + #94DAFF + #94B3FD + #B983FF #D9000000 #FFFFFF #212121 - #9C27B0 - #9C27B0 - #F44336 - #3F51B5 - #00FF00 - #FFC107 - #FFFFFF - #000000 - #FFFFFF - #00BCD4 - #9e9e9e - #4CAF50 - #009688 - #FF5722 - #795548 + #9A86A4 + #B1BCE6 + #FF8AAE + #7882A4 + #54BAB9 + #FCFFA6 + #FDFCE5 + #694E4E + #FDEFEF + #B5EAEA + #D6D2C4 + #CEE5D0 + #94D0CC + #CC7351 + #AA8976 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 7b9859f..c151289 100755 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -22,6 +22,7 @@ 16dp 8dp 16dp + 80dp Monday diff --git a/app/src/main/res/xml/day_appwidget_info.xml b/app/src/main/res/xml/day_appwidget_info.xml index 022afb4..a92eba1 100644 --- a/app/src/main/res/xml/day_appwidget_info.xml +++ b/app/src/main/res/xml/day_appwidget_info.xml @@ -1,5 +1,5 @@ + app:fragment="com.systems.automaton.classtimetableplanner.fragments.NotificationSettingsFragment" /> Testing documentation - */ -public class ExampleUnitTest { - @Test - public void addition_isCorrect() { - assertEquals(4, 2 + 2); - } -} \ No newline at end of file diff --git a/build.gradle b/build.gradle index afafd30..000da05 100644 --- a/build.gradle +++ b/build.gradle @@ -5,11 +5,13 @@ buildscript { repositories { google() jcenter() + mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:7.3.1' - classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:8.3.1" - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.21' + classpath 'com.android.tools.build:gradle:7.2.2' + //classpath "com.mikepenz.aboutlibraries.plugin:aboutlibraries-plugin:8.3.1" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" + classpath 'com.google.gms:google-services:4.3.13' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -19,6 +21,7 @@ allprojects { repositories { google() jcenter() + mavenCentral() maven { url "https://jitpack.io" } } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index f7c80cf..ff9677c 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https://services.gradle.org/distributions/gradle-7.4-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 0.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 0.png new file mode 100644 index 0000000..d2a186b Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 0.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 1.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 1.png new file mode 100644 index 0000000..6dd058f Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 1.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 2.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 2.png new file mode 100644 index 0000000..117962f Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 2.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 3.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 3.png new file mode 100644 index 0000000..a68ebc2 Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 3.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 4.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 4.png new file mode 100644 index 0000000..67303ff Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 4.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 5.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 5.png new file mode 100644 index 0000000..b6e5545 Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 5.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 6.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 6.png new file mode 100644 index 0000000..2eb4779 Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 6.png differ diff --git a/screenshots/Apple iPhone 11 Pro Max Screenshot 7.png b/screenshots/Apple iPhone 11 Pro Max Screenshot 7.png new file mode 100644 index 0000000..d17764d Binary files /dev/null and b/screenshots/Apple iPhone 11 Pro Max Screenshot 7.png differ diff --git a/settings.gradle b/settings.gradle index e7b4def..a1ac063 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,2 @@ +rootProject.name = "Class Timetable Planner" include ':app'