diff --git a/app/build.gradle b/app/build.gradle index 508fd8df8..109be2178 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,12 +1,17 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' +apply plugin: 'kotlin-parcelize' apply plugin: 'kotlin-kapt' apply plugin: 'witness' apply from: 'witness.gradle' android { + buildFeatures { + viewBinding true + dataBinding true + } + defaultConfig { versionCode 125 versionName "2.2.1" @@ -117,8 +122,8 @@ dependencies { implementation 'androidx.constraintlayout:constraintlayout:2.0.4' implementation 'androidx.lifecycle:lifecycle-livedata:2.3.1' implementation 'androidx.lifecycle:lifecycle-common-java8:2.3.1' - implementation 'androidx.room:room-runtime:2.3.0' - kapt 'androidx.room:room-compiler:2.3.0' + implementation 'androidx.room:room-runtime:2.4.1' + kapt 'androidx.room:room-compiler:2.4.1' implementation 'androidx.localbroadcastmanager:localbroadcastmanager:1.0.0' implementation 'com.squareup.okhttp3:okhttp:3.12.13' diff --git a/app/src/main/java/de/grobox/transportr/AppComponent.java b/app/src/main/java/de/grobox/transportr/AppComponent.java index ddd6f715e..79f319f13 100644 --- a/app/src/main/java/de/grobox/transportr/AppComponent.java +++ b/app/src/main/java/de/grobox/transportr/AppComponent.java @@ -34,6 +34,7 @@ import de.grobox.transportr.trips.detail.TripMapFragment; import de.grobox.transportr.trips.search.DirectionsActivity; import de.grobox.transportr.trips.search.DirectionsFragment; +import de.grobox.transportr.trips.search.ProductDialogFragment; import de.grobox.transportr.trips.search.TripsFragment; @Singleton @@ -56,5 +57,6 @@ public interface AppComponent { void inject(SettingsFragment fragment); void inject(HomePickerDialogFragment fragment); void inject(WorkPickerDialogFragment fragment); + void inject(ProductDialogFragment fragment); } diff --git a/app/src/main/java/de/grobox/transportr/about/AboutActivity.kt b/app/src/main/java/de/grobox/transportr/about/AboutActivity.kt index f1329c022..2dfe5fe40 100644 --- a/app/src/main/java/de/grobox/transportr/about/AboutActivity.kt +++ b/app/src/main/java/de/grobox/transportr/about/AboutActivity.kt @@ -26,7 +26,7 @@ import androidx.fragment.app.FragmentPagerAdapter import com.mikepenz.aboutlibraries.LibsBuilder import de.grobox.transportr.R import de.grobox.transportr.TransportrActivity -import kotlinx.android.synthetic.main.activity_about.* +import de.grobox.transportr.databinding.ActivityAboutBinding class AboutActivity : TransportrActivity() { @@ -35,16 +35,23 @@ class AboutActivity : TransportrActivity() { val TAG : String = AboutActivity::class.java.simpleName } + private lateinit var binding: ActivityAboutBinding; + public override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_about) + binding = ActivityAboutBinding.inflate(layoutInflater) + setContentView(binding.root) + setUpCustomToolbar(false) + val pager = binding.pager pager.adapter = AboutPagerAdapter(supportFragmentManager) + + val tabLayout = binding.tabLayout; tabLayout.setupWithViewPager(pager) } - private inner class AboutPagerAdapter internal constructor(fm: FragmentManager) : FragmentPagerAdapter(fm) { + private inner class AboutPagerAdapter internal constructor(fm: FragmentManager) : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { override fun getItem(i: Int): Fragment { return when (i) { diff --git a/app/src/main/java/de/grobox/transportr/about/AboutFragment.kt b/app/src/main/java/de/grobox/transportr/about/AboutFragment.kt index d81ba64b1..3e867fa23 100644 --- a/app/src/main/java/de/grobox/transportr/about/AboutFragment.kt +++ b/app/src/main/java/de/grobox/transportr/about/AboutFragment.kt @@ -30,12 +30,16 @@ import android.widget.Button import android.widget.TextView import de.grobox.transportr.R import de.grobox.transportr.TransportrFragment +import de.grobox.transportr.databinding.FragmentAboutBinding class AboutFragment : TransportrFragment() { + private var _binding: FragmentAboutBinding? = null + private val binding get() = _binding!! + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { - val v = inflater.inflate(R.layout.fragment_about, container, false) + _binding = FragmentAboutBinding.inflate(inflater, container, false) // add app name and version val versionName = try { @@ -44,17 +48,21 @@ class AboutFragment : TransportrFragment() { } catch (e: NameNotFoundException) { "?.?" } - val appNameVersion = v.findViewById(R.id.appNameVersion) + val appNameVersion = binding.appNameVersion appNameVersion.text = "${getString(R.string.app_name)} $versionName" // website button - val websiteButton = v.findViewById