Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -88,3 +88,5 @@ lint/tmp/
# App
app/google-services.json
app/release/*

.idea/
1 change: 0 additions & 1 deletion .idea/.name

This file was deleted.

122 changes: 0 additions & 122 deletions .idea/codeStyles/Project.xml

This file was deleted.

5 changes: 0 additions & 5 deletions .idea/codeStyles/codeStyleConfig.xml

This file was deleted.

6 changes: 0 additions & 6 deletions .idea/compiler.xml

This file was deleted.

30 changes: 0 additions & 30 deletions .idea/jarRepositories.xml

This file was deleted.

22 changes: 14 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,23 +1,28 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-kapt'

android {
compileSdkVersion 33
namespace 'nl.appt'
compileSdkVersion 36

defaultConfig {
applicationId 'nl.appt'
minSdkVersion 24
targetSdkVersion 33
targetSdkVersion 36
versionCode 200
versionName '2.0.0'

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildFeatures {
buildConfig = true
}

buildTypes {
debug {
buildConfigField "String", "BASE_URL", '"https://appt.org/"'
Expand All @@ -33,11 +38,11 @@ android {
viewBinding true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '1.8'
jvmTarget = '17'
}
}

Expand All @@ -48,8 +53,8 @@ dependencies {
implementation 'com.google.android.material:material:1.7.0'

// AndroidX
implementation 'androidx.appcompat:appcompat:1.5.1'
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'androidx.core:core-ktx:1.13.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.navigation:navigation-fragment-ktx:2.5.3'
implementation 'androidx.navigation:navigation-ui-ktx:2.5.3'
Expand All @@ -60,6 +65,7 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.webkit:webkit:1.5.0'
implementation 'androidx.browser:browser:1.4.0'
implementation 'androidx.activity:activity-ktx:1.9.0'

// Room
implementation("androidx.room:room-runtime:$room_version")
Expand Down
15 changes: 15 additions & 0 deletions app/src/main/java/nl/appt/dialog/BaseDialog.kt
Original file line number Diff line number Diff line change
@@ -1,9 +1,24 @@
package nl.appt.dialog

import android.os.Bundle
import android.view.View
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding
import com.google.android.material.bottomsheet.BottomSheetDialogFragment

open class BaseDialog: BottomSheetDialogFragment() {

// TODO: Improve landscape height with peekHeight

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

// Apply bottom system bar insets to dialog
ViewCompat.setOnApplyWindowInsetsListener(view) { v, windowInsets ->
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
v.updatePadding(bottom = insets.bottom)
windowInsets
}
}
}
4 changes: 2 additions & 2 deletions app/src/main/java/nl/appt/dialog/ItemsDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hannesdorfmann.adapterdelegates4.ListDelegationAdapter
import kotlinx.android.synthetic.main.layout_list.view.*
import nl.appt.R
import nl.appt.extensions.addItemDecoration
import nl.appt.helpers.itemAdapterDelegate
Expand Down Expand Up @@ -39,7 +39,7 @@ open class ItemsDialog(private val items: List<Item>) : BaseDialog() {
): View? {
val view = inflater.inflate(R.layout.layout_list, container, false)

view.recyclerView.run {
view.findViewById<RecyclerView>(R.id.recyclerView).run {
layoutManager = LinearLayoutManager(context)
adapter = adapterDelegate
addItemDecoration()
Expand Down
7 changes: 4 additions & 3 deletions app/src/main/java/nl/appt/dialog/ListDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import kotlinx.android.synthetic.main.layout_list_dialog.view.*
import android.widget.Button
import android.widget.TextView
import nl.appt.R

abstract class ListDialog(val title: Int) : BaseDialog() {
Expand All @@ -16,9 +17,9 @@ abstract class ListDialog(val title: Int) : BaseDialog() {
): View? {
val view = inflater.inflate(R.layout.layout_list_dialog, container, false)

view.titleView.setText(title)
view.findViewById<TextView>(R.id.titleView).setText(title)

view.closeButton.setOnClickListener {
view.findViewById<Button>(R.id.closeButton).setOnClickListener {
dismiss()
}

Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/nl/appt/dialog/PageDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import android.os.Bundle
import android.view.View
import androidx.lifecycle.LiveData
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hannesdorfmann.adapterdelegates4.ListDelegationAdapter
import kotlinx.android.synthetic.main.layout_list.view.recyclerView
import nl.appt.R
import nl.appt.database.Page
import nl.appt.extensions.addItemDecoration
import nl.appt.extensions.isLoading
Expand Down Expand Up @@ -35,7 +36,7 @@ abstract class PageDialog<T: Page>(title: Int) : ListDialog(title) {
// TODO: Add empty state

adapterDelegate.items = items
view.recyclerView?.run {
view.findViewById<RecyclerView>(R.id.recyclerView)?.run {
layoutManager = LinearLayoutManager(context)
adapter = adapterDelegate
addItemDecoration()
Expand Down
5 changes: 2 additions & 3 deletions app/src/main/java/nl/appt/dialog/SettingsDialog.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package nl.appt.dialog
import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hannesdorfmann.adapterdelegates4.ListDelegationAdapter
import kotlinx.android.synthetic.main.layout_list.view.*
import nl.appt.R
import nl.appt.extensions.addItemDecoration
import nl.appt.helpers.Preferences
Expand All @@ -25,8 +25,7 @@ class SettingsDialog() : ListDialog(R.string.settings) {

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

view.recyclerView.run {
view.findViewById<RecyclerView>(R.id.recyclerView).run {
layoutManager = LinearLayoutManager(context)
adapter = adapterDelegate
addItemDecoration()
Expand Down
5 changes: 5 additions & 0 deletions app/src/main/java/nl/appt/widgets/BaseActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import android.content.Intent
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.WindowCompat
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.ktx.Firebase
Expand All @@ -26,6 +27,10 @@ abstract class BaseActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

// Enable edge-to-edge
WindowCompat.setDecorFitsSystemWindows(window, false)

firebaseAnalytics = Firebase.analytics
events = Events(firebaseAnalytics)

Expand Down
6 changes: 3 additions & 3 deletions app/src/main/java/nl/appt/widgets/ToolbarActivity.kt
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package nl.appt.widgets

import android.view.MenuItem
import android.widget.TextView
import androidx.appcompat.widget.Toolbar
import kotlinx.android.synthetic.main.view_toolbar.view.*
import nl.appt.R

/**
Expand Down Expand Up @@ -41,15 +41,15 @@ abstract class ToolbarActivity : BaseActivity() {
override fun setTitle(titleId: Int) {
super.setTitle("")

toolbar?.toolbarTitle?.let {
toolbar?.findViewById<TextView>(R.id.toolbarTitle)?.let {
it.text = getString(titleId)
}
}

override fun setTitle(title: CharSequence?) {
super.setTitle("")

toolbar?.toolbarTitle?.let {
toolbar?.findViewById<TextView>(R.id.toolbarTitle)?.let {
it.text = title
}
}
Expand Down
Loading