diff --git a/app/build.gradle b/app/build.gradle index 71e7a7dc..ca5c9fcd 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -128,6 +128,7 @@ dependencies { implementation "com.mikepenz:iconics-core:${versions.iconics}" implementation "com.mikepenz:iconics-views:${versions.iconics}" implementation "com.mikepenz:community-material-typeface:${versions.font_cmd}@aar" + implementation "com.mikepenz:materialize:1.2.1" implementation "com.github.kuba2k2:NavLib:${versions.navlib}" diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt index dadaf833..8f53b625 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/MainActivity.kt @@ -31,8 +31,8 @@ import com.mikepenz.iconics.typeface.library.szkolny.font.SzkolnyFont import com.mikepenz.materialdrawer.model.DividerDrawerItem import com.mikepenz.materialdrawer.model.ProfileDrawerItem import com.mikepenz.materialdrawer.model.ProfileSettingDrawerItem -import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem -import com.mikepenz.materialdrawer.model.interfaces.IProfile +import com.mikepenz.materialdrawer.model.interfaces.* +import com.mikepenz.materialdrawer.model.utils.withIsHiddenInMiniDrawer import kotlinx.coroutines.* import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe @@ -90,7 +90,6 @@ import pl.szczodrzynski.navlib.bottomsheet.items.BottomSheetPrimaryItem import pl.szczodrzynski.navlib.bottomsheet.items.BottomSheetSeparatorItem import pl.szczodrzynski.navlib.drawer.NavDrawer import pl.szczodrzynski.navlib.drawer.items.DrawerPrimaryItem -import pl.szczodrzynski.navlib.drawer.items.withAppTitle import java.io.File import java.io.IOException import java.util.* @@ -361,7 +360,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope { false } drawerProfileLongClickListener = { _, profile, _, view -> - if (profile is ProfileDrawerItem) { + if (view != null && profile is ProfileDrawerItem) { showProfileContextMenu(profile, view) true } @@ -915,7 +914,8 @@ class MainActivity : AppCompatActivity(), CoroutineScope { bottomSheet.removeAllContextual() bottomSheet.toggleGroupEnabled = false drawer.close() - drawer.setSelection(target.id, fireOnClick = false) + if (drawer.getSelection() != target.id) + drawer.setSelection(target.id, fireOnClick = false) navView.toolbar.setTitle(target.title ?: target.name) navView.bottomBar.fabEnable = false navView.bottomBar.fabExtended = false @@ -1063,7 +1063,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope { val item = DrawerPrimaryItem() .withIdentifier(target.id.toLong()) .withName(target.name) - .withHiddenInMiniDrawer(!app.config.ui.miniMenuButtons.contains(target.id)) + .withIsHiddenInMiniDrawer(!app.config.ui.miniMenuButtons.contains(target.id)) .also { if (target.description != null) it.withDescription(target.description!!) } .also { if (target.icon != null) it.withIcon(target.icon!!) } .also { if (target.title != null) it.withAppTitle(getString(target.title!!)) } @@ -1127,7 +1127,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope { drawer.addProfileSettings(*drawerProfiles.toTypedArray()) } - private fun showProfileContextMenu(profile: IProfile<*>, view: View) { + private fun showProfileContextMenu(profile: IProfile, view: View) { val profileId = profile.identifier.toInt() val popupMenu = PopupMenu(this, view) popupMenu.menu.add(0, 1, 1, R.string.profile_menu_open_settings) @@ -1140,7 +1140,7 @@ class MainActivity : AppCompatActivity(), CoroutineScope { } loadTarget(DRAWER_ITEM_SETTINGS, null) } else if (item.itemId == 2) { - ProfileRemoveDialog(this, profileId, profile.name?.getText(this)?.toString() ?: "?") + ProfileRemoveDialog(this, profileId, profile.name?.getText(this) ?: "?") } true } diff --git a/app/src/main/java/pl/szczodrzynski/edziennik/data/firebase/FirebaseService.kt b/app/src/main/java/pl/szczodrzynski/edziennik/data/firebase/FirebaseService.kt index a7c9f656..6396a87c 100644 --- a/app/src/main/java/pl/szczodrzynski/edziennik/data/firebase/FirebaseService.kt +++ b/app/src/main/java/pl/szczodrzynski/edziennik/data/firebase/FirebaseService.kt @@ -9,8 +9,8 @@ import android.app.PendingIntent import android.app.PendingIntent.CanceledException import android.content.Intent import android.util.Log -import com.google.firebase.iid.zzaq -import com.google.firebase.iid.zzv +import com.google.firebase.iid.zzad +import com.google.firebase.iid.zzaz import com.google.firebase.messaging.zzc import com.google.gson.JsonObject import pl.szczodrzynski.edziennik.* @@ -36,7 +36,7 @@ open class FirebaseService : zzc() { // apparently this gets the correct intent from some // kind of queue inside Firebase's InstanceID Receiver - final override fun zza(intent: Intent?) = zzaq.zza()?.zzb() + final override fun zza(intent: Intent?) = zzaz.zza()?.zzb() final override fun zzb(intent: Intent?): Boolean { val action = intent?.action if (action == "com.google.firebase.messaging.NOTIFICATION_OPEN") { @@ -80,7 +80,7 @@ open class FirebaseService : zzc() { val ackBundle = Bundle( "google.message_id" to messageId ) - zzv.zza(this).zza(2, ackBundle) + zzad.zza(this).zza(2, ackBundle) } // check for duplicate message // and add it to queue diff --git a/app/src/main/res/layout/material_drawer_header.xml b/app/src/main/res/layout/material_drawer_header.xml index 49479cd7..b286b60c 100644 --- a/app/src/main/res/layout/material_drawer_header.xml +++ b/app/src/main/res/layout/material_drawer_header.xml @@ -1,6 +1,6 @@ - + + + + + + + + - + diff --git a/app/src/main/res/layout/material_drawer_item_profile.xml b/app/src/main/res/layout/material_drawer_item_profile.xml index 3eb6e9ef..e1ac9f8e 100644 --- a/app/src/main/res/layout/material_drawer_item_profile.xml +++ b/app/src/main/res/layout/material_drawer_item_profile.xml @@ -4,6 +4,8 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="@dimen/material_drawer_item_profile" + android:clipChildren="false" + android:clipToPadding="false" android:orientation="horizontal" android:paddingStart="@dimen/material_drawer_vertical_padding" android:paddingLeft="@dimen/material_drawer_vertical_padding" @@ -44,7 +46,7 @@ android:textDirection="anyRtl" android:textSize="@dimen/material_drawer_item_profile_text" app:layout_constraintBottom_toTopOf="@id/material_drawer_email" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toStartOf="@+id/material_drawer_badge_container" app:layout_constraintStart_toEndOf="@id/material_drawer_profileIcon" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_chainStyle="packed" @@ -69,9 +71,37 @@ android:textDirection="anyRtl" android:textSize="@dimen/material_drawer_item_profile_description" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintEnd_toStartOf="@+id/material_drawer_badge_container" app:layout_constraintStart_toEndOf="@id/material_drawer_profileIcon" app:layout_constraintTop_toBottomOf="@id/material_drawer_name" tools:text="Some drawer text" /> - \ No newline at end of file + + + + + diff --git a/build.gradle b/build.gradle index a975a0fc..d5327e9e 100644 --- a/build.gradle +++ b/build.gradle @@ -17,6 +17,8 @@ buildscript { ] versions = [ + gradleAndroid : "4.0.0-beta03", + kotlin : ext.kotlin_version, ktx : "1.2.0", @@ -32,24 +34,24 @@ buildscript { navigationFragment: "1.0.0", legacy : "1.0.0", - room : "2.2.4", + room : "2.2.5", lifecycle : "2.2.0", - work : "2.3.2", + work : "2.3.4", firebase : '17.2.2', - firebasemessaging: "20.1.0", + firebasemessaging: "20.1.3", play_services : "17.0.0", materialdialogs : "0.9.6.0", - materialdrawer : "cad66092a6", + materialdrawer : "817e45765c367034b03046aaea6e95eeabcb40e9", iconics : "4.0.1", font_cmd : "3.5.95.1-kotlin", - navlib : "5c8b13c0d9db0d9e822fdae82c8afca6c01ab41e", + navlib : "43f5ecdef5ac33a552936684978a3cd022e612a7", gifdrawable : "1.2.15", - retrofit : '2.6.2' + retrofit : "2.6.4" ] } @@ -61,11 +63,11 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.0.0-beta01' + classpath "com.android.tools.build:gradle:${versions.gradleAndroid}" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${versions.kotlin}" classpath 'me.tatarka:gradle-retrolambda:3.7.0' classpath 'com.google.gms:google-services:4.3.3' classpath 'io.fabric.tools:gradle:1.28.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 0920d4e0..d4331d8b 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-6.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.2.1-all.zip