From 40832686bf54ab618e59e4bec9fa67484fa6907d Mon Sep 17 00:00:00 2001 From: Seil0 Date: Fri, 26 Oct 2018 00:50:37 +0200 Subject: [PATCH] migrate to androidx and color chooser --- app/build.gradle | 18 +++-- .../projectlaogai/ExampleInstrumentedTest.kt | 4 +- .../mosad/seil0/projectlaogai/HomeFragment.kt | 2 +- .../seil0/projectlaogai/LessonCardView.kt | 4 +- .../mosad/seil0/projectlaogai/MainActivity.kt | 24 +++---- .../seil0/projectlaogai/MensaFragment.kt | 2 +- .../seil0/projectlaogai/SettingsFragment.kt | 58 +++++++++++++++- app/src/main/res/drawable/ic_menu_camera.xml | 12 ---- app/src/main/res/drawable/ic_menu_manage.xml | 9 --- app/src/main/res/layout/activity_main.xml | 6 +- app/src/main/res/layout/app_bar_main.xml | 18 ++--- app/src/main/res/layout/fragment_home.xml | 12 ++-- app/src/main/res/layout/fragment_mensa.xml | 17 ++++- app/src/main/res/layout/fragment_settings.xml | 66 +++++++++++++------ app/src/main/res/layout/lesson_cardview.xml | 4 +- app/src/main/res/values/strings.xml | 12 +++- build.gradle | 1 + gradle.properties | 2 + 18 files changed, 172 insertions(+), 99 deletions(-) delete mode 100644 app/src/main/res/drawable/ic_menu_camera.xml delete mode 100644 app/src/main/res/drawable/ic_menu_manage.xml diff --git a/app/build.gradle b/app/build.gradle index 755612c..b88014f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ android { targetSdkVersion 28 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { @@ -25,12 +25,16 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" - implementation 'com.android.support:appcompat-v7:28.0.0' - implementation 'com.android.support:support-v4:28.0.0' - implementation 'com.android.support:design:28.0.0' - implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'androidx.appcompat:appcompat:1.0.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'com.google.android.material:material:1.0.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2' implementation 'org.jsoup:jsoup:1.11.3' + + implementation 'com.afollestad.material-dialogs:core:2.0.0-beta4' + implementation 'com.afollestad.material-dialogs:color:2.0.0-beta4' + testImplementation 'junit:junit:4.12' - androidTestImplementation 'com.android.support.test:runner:1.0.2' - androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + androidTestImplementation 'androidx.test:runner:1.1.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0' } diff --git a/app/src/androidTest/java/org/mosad/seil0/projectlaogai/ExampleInstrumentedTest.kt b/app/src/androidTest/java/org/mosad/seil0/projectlaogai/ExampleInstrumentedTest.kt index 2204a28..b34bfff 100644 --- a/app/src/androidTest/java/org/mosad/seil0/projectlaogai/ExampleInstrumentedTest.kt +++ b/app/src/androidTest/java/org/mosad/seil0/projectlaogai/ExampleInstrumentedTest.kt @@ -1,7 +1,7 @@ package org.mosad.seil0.projectlaogai -import android.support.test.InstrumentationRegistry -import android.support.test.runner.AndroidJUnit4 +import androidx.test.InstrumentationRegistry +import androidx.test.runner.AndroidJUnit4 import org.junit.Test import org.junit.runner.RunWith diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/HomeFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/HomeFragment.kt index bf0ac29..f677306 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/HomeFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/HomeFragment.kt @@ -25,7 +25,7 @@ package org.mosad.seil0.projectlaogai import android.annotation.SuppressLint import android.graphics.Color import android.os.Bundle -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt index 2b4bc26..6b1592d 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/LessonCardView.kt @@ -24,11 +24,11 @@ package org.mosad.seil0.projectlaogai import android.content.Context import android.graphics.Color -import android.support.v7.widget.CardView +import androidx.cardview.widget.CardView import android.util.AttributeSet import android.widget.TextView -class LessonCardView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : CardView(context, attrs){ +class LessonCardView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null) : androidx.cardview.widget.CardView(context, attrs){ private var txtViewLesson: TextView private var txtViewTime: TextView diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt index 2c4d79f..9d50647 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MainActivity.kt @@ -23,13 +23,14 @@ package org.mosad.seil0.projectlaogai import android.os.Bundle -import android.support.design.widget.Snackbar -import android.support.design.widget.NavigationView -import android.support.v4.view.GravityCompat -import android.support.v7.app.ActionBarDrawerToggle -import android.support.v7.app.AppCompatActivity +import com.google.android.material.snackbar.Snackbar +import com.google.android.material.navigation.NavigationView +import androidx.core.view.GravityCompat +import androidx.appcompat.app.ActionBarDrawerToggle +import androidx.appcompat.app.AppCompatActivity import android.view.Menu import android.view.MenuItem +import androidx.fragment.app.FragmentTransaction import kotlinx.android.synthetic.main.activity_main.* import kotlinx.android.synthetic.main.app_bar_main.* @@ -44,15 +45,10 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte //init home fragment TODO make a abstract fragment class val homeFragment = HomeFragment() - val fragmentTransaction: android.support.v4.app.FragmentTransaction = supportFragmentManager.beginTransaction() + val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, homeFragment) fragmentTransaction.commit() - fab.setOnClickListener { view -> - Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) - .setAction("Action", null).show() - } - val toggle = ActionBarDrawerToggle( this, drawer_layout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close ) @@ -91,13 +87,13 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte when (item.itemId) { R.id.nav_home -> { val homeFragment = HomeFragment() - val fragmentTransaction: android.support.v4.app.FragmentTransaction = supportFragmentManager.beginTransaction() + val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, homeFragment) fragmentTransaction.commit() } R.id.nav_mensa -> { val mensaFragment: MensaFragment = MensaFragment() - val fragmentTransaction: android.support.v4.app.FragmentTransaction = supportFragmentManager.beginTransaction() + val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, mensaFragment) fragmentTransaction.commit() } @@ -112,7 +108,7 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte } R.id.nav_settings -> { val settingsFragment = SettingsFragment() - val fragmentTransaction: android.support.v4.app.FragmentTransaction = supportFragmentManager.beginTransaction() + val fragmentTransaction: FragmentTransaction = supportFragmentManager.beginTransaction() fragmentTransaction.replace(R.id.fragment_container, settingsFragment) fragmentTransaction.commit() } diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt index 85f1984..b67ae13 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/MensaFragment.kt @@ -23,7 +23,7 @@ package org.mosad.seil0.projectlaogai import android.os.Bundle -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt index 7039486..3297f95 100644 --- a/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt +++ b/app/src/main/java/org/mosad/seil0/projectlaogai/SettingsFragment.kt @@ -22,11 +22,17 @@ package org.mosad.seil0.projectlaogai +import android.graphics.Color import android.os.Bundle -import android.support.v4.app.Fragment +import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.LinearLayout +import com.afollestad.materialdialogs.MaterialDialog +import com.afollestad.materialdialogs.color.colorChooser +import kotlinx.android.synthetic.main.fragment_settings.* + /** * The settings controller class @@ -34,13 +40,63 @@ import android.view.ViewGroup */ class SettingsFragment : Fragment() { + private lateinit var linLayoutUser: LinearLayout + private lateinit var linLayoutCourse: LinearLayout + private lateinit var linLayoutInfo: LinearLayout + private lateinit var linLayoutMainColor: LinearLayout + private lateinit var viewPrimaryColor: View + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater.inflate(R.layout.fragment_settings, container, false) + + + linLayoutUser = view.findViewById(R.id.linLayout_User) + linLayoutCourse = view.findViewById(R.id.linLayout_Course) + linLayoutInfo = view.findViewById(R.id.linLayout_Info) + linLayoutMainColor = view.findViewById(R.id.linLayout_MainColor) + viewPrimaryColor = view.findViewById(R.id.view_PrimaryColor) + + initActions() + // Inflate the layout for this fragment return view } + /** + * initialize some actions for SettingsFragment elements + */ + private fun initActions() { + linLayoutUser.setOnClickListener { + // open a new dialog + } + + linLayoutCourse.setOnClickListener { + // open a new dialog + } + + linLayoutInfo.setOnClickListener { + // open a new info dialog + MaterialDialog(context!!) + .title(R.string.about) + .message(R.string.about_text) + .show() + } + + linLayoutMainColor.setOnClickListener { + // open a new color chooser dialog + val colors = intArrayOf(Color.parseColor("#3F51B5"), Color.RED, Color.GREEN, Color.BLUE) + + MaterialDialog(context!!) + .title(R.string.primary_color) + .colorChooser(colors, initialSelection = Color.parseColor("#3F51B5")) { dialog, color -> + viewPrimaryColor.setBackgroundColor(color) + } + .positiveButton(R.string.select) + .show() + } + } + } diff --git a/app/src/main/res/drawable/ic_menu_camera.xml b/app/src/main/res/drawable/ic_menu_camera.xml deleted file mode 100644 index 41688d5..0000000 --- a/app/src/main/res/drawable/ic_menu_camera.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - diff --git a/app/src/main/res/drawable/ic_menu_manage.xml b/app/src/main/res/drawable/ic_menu_manage.xml deleted file mode 100644 index a0e423c..0000000 --- a/app/src/main/res/drawable/ic_menu_manage.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index f4cbe91..ac9a123 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -1,5 +1,5 @@ - - - + diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml index af15dea..d246fc6 100644 --- a/app/src/main/res/layout/app_bar_main.xml +++ b/app/src/main/res/layout/app_bar_main.xml @@ -1,5 +1,5 @@ - - - - + - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 46cc2b0..76c05f6 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -6,11 +6,11 @@ android:layout_height="match_parent" tools:context=".HomeFragment"> - - - + - - + - + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_mensa.xml b/app/src/main/res/layout/fragment_mensa.xml index b6cb66a..51fe82a 100644 --- a/app/src/main/res/layout/fragment_mensa.xml +++ b/app/src/main/res/layout/fragment_mensa.xml @@ -6,9 +6,20 @@ tools:context=".MensaFragment"> - + android:layout_height="match_parent"> + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index 621ccc0..cc94f64 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -7,7 +7,7 @@ - @@ -17,10 +17,10 @@ android:layout_height="match_parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" > - + android:layout_marginTop="9dp" android:id="@+id/cardView_Info"> + android:layout_height="wrap_content" android:padding="7dp" android:id="@+id/linLayout_User"> + android:layout_height="wrap_content" android:layout_margin="7dp" + android:id="@+id/linLayout_Course"> + + + + + - - + + android:layout_marginTop="9dp" android:id="@+id/cardView_Settings"> + android:layout_height="wrap_content" android:layout_margin="7dp" + android:gravity="center_vertical|end" + android:clickable="true" android:id="@+id/linLayout_MainColor" android:focusable="true"> + android:layout_height="wrap_content" android:id="@+id/txtView_PrimaryColorDesc"/> -