diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 93c91fa..737b74b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -28,6 +28,14 @@
android:resource="@xml/shortcuts" />
+
+
+
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_onboarding)
+
+ viewPager = findViewById(R.id.viewPager)
+ linLayoutDots = findViewById(R.id.linLayout_Dots)
+
+ addBottomDots(0)
+
+ viewPagerAdapter = ViewPagerAdapter(this)
+ viewPager.adapter = viewPagerAdapter
+ viewPager.addOnPageChangeListener(viewPagerPageChangeListener)
+
+ btn_Skip.visibility = View.GONE // without the the skip button is visible
+ }
+
+ fun btnNextClick(v: View) {
+ if (viewPager.currentItem < layouts.size - 1) {
+ viewPager.currentItem++
+ } else {
+ launchHomeScreen()
+ }
+ }
+
+ fun btnSkipClick(v: View) {
+ launchHomeScreen()
+ }
+
+ fun btnSelectCourseClick(v: View) {
+ SettingsFragment().selectCourse(this) // TODO
+ }
+
+ private fun addBottomDots(currentPage: Int) {
+ dots = Array(layouts.size) { TextView(this) }
+ linLayoutDots.removeAllViews()
+
+ dots.forEach {
+ it.text = Html.fromHtml("•")
+ it.textSize = 35f
+ it.setTextColor(Color.parseColor("#cccccc"))
+ linLayoutDots.addView(it)
+ }
+
+ if (dots.isNotEmpty())
+ dots[currentPage].setTextColor(Color.parseColor("#000000"))
+ }
+
+ private fun launchHomeScreen() {
+ startActivity(Intent(this, MainActivity::class.java))
+ //finish()
+ }
+
+ private var viewPagerPageChangeListener: ViewPager.OnPageChangeListener = object : ViewPager.OnPageChangeListener {
+
+ override fun onPageSelected(position: Int) {
+ addBottomDots(position)
+ // changing the next button text
+ if (position == layouts.size - 1) {
+ btn_Next.text = getString(R.string.start)
+ btn_Next.visibility = View.VISIBLE
+ btn_Skip.visibility = View.GONE
+ } else {
+ btn_Next.visibility = View.GONE
+ btn_Skip.visibility = View.GONE
+ }
+ }
+
+ override fun onPageScrolled(arg0: Int, arg1: Float, arg2: Int) {}
+ override fun onPageScrollStateChanged(arg0: Int) {}
+ }
+
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt
index 059f5e9..aa8c8f1 100644
--- a/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt
+++ b/app/src/main/java/org/mosad/seil0/projectlaogai/fragments/SettingsFragment.kt
@@ -171,7 +171,9 @@ class SettingsFragment : Fragment() {
resources.getString(R.string.themeDark),
resources.getString(R.string.themeBlack)
)
- MaterialDialog(context!!).show {
+ MaterialDialog(context!!)
+ .title(R.string.theme)
+ .show {
listItemsSingleChoice(items = themes) { _, index, _ ->
Aesthetic.config {
when (index) {
diff --git a/app/src/main/java/org/mosad/seil0/projectlaogai/onboarding/ViewPagerAdapter.kt b/app/src/main/java/org/mosad/seil0/projectlaogai/onboarding/ViewPagerAdapter.kt
new file mode 100644
index 0000000..d6726c6
--- /dev/null
+++ b/app/src/main/java/org/mosad/seil0/projectlaogai/onboarding/ViewPagerAdapter.kt
@@ -0,0 +1,59 @@
+/**
+ * ProjectLaogai
+ *
+ * Copyright 2019-2020
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ */
+
+package org.mosad.seil0.projectlaogai.onboarding
+
+import android.content.Context
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.viewpager.widget.PagerAdapter
+import org.mosad.seil0.projectlaogai.OnboardingActivity.Companion.layouts
+
+/**
+ * TODO
+ */
+class ViewPagerAdapter(cont: Context) : PagerAdapter() {
+
+ private val context = cont
+
+ override fun isViewFromObject(view: View, `object`: Any): Boolean {
+ return view === `object`
+ }
+
+ override fun getCount(): Int {
+ return layouts.size
+ }
+
+ override fun instantiateItem(container: ViewGroup, position: Int): Any {
+ val view = LayoutInflater.from(context).inflate(layouts[position], container, false)
+ container.addView(view)
+
+ return view
+ }
+
+ override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
+ val view = `object` as View
+ container.removeView(view)
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/res/layouts/activities/layout/activity_onboarding.xml b/app/src/main/res/layouts/activities/layout/activity_onboarding.xml
new file mode 100644
index 0000000..5e14b73
--- /dev/null
+++ b/app/src/main/res/layouts/activities/layout/activity_onboarding.xml
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/fragments/layout/fragment_on_course.xml b/app/src/main/res/layouts/fragments/layout/fragment_on_course.xml
new file mode 100644
index 0000000..f984d96
--- /dev/null
+++ b/app/src/main/res/layouts/fragments/layout/fragment_on_course.xml
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/fragments/layout/fragment_on_login.xml b/app/src/main/res/layouts/fragments/layout/fragment_on_login.xml
new file mode 100644
index 0000000..55e2aa7
--- /dev/null
+++ b/app/src/main/res/layouts/fragments/layout/fragment_on_login.xml
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/fragments/layout/fragment_on_welcome.xml b/app/src/main/res/layouts/fragments/layout/fragment_on_welcome.xml
new file mode 100644
index 0000000..239f344
--- /dev/null
+++ b/app/src/main/res/layouts/fragments/layout/fragment_on_welcome.xml
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layouts/fragments/layout/fragment_settings.xml b/app/src/main/res/layouts/fragments/layout/fragment_settings.xml
index c33c639..195736a 100644
--- a/app/src/main/res/layouts/fragments/layout/fragment_settings.xml
+++ b/app/src/main/res/layouts/fragments/layout/fragment_settings.xml
@@ -177,43 +177,49 @@
android:layout_height="1dp"
android:background="?dividerColor"
/>
+
+ android:focusable="true"
+ android:gravity="center_vertical|end"
+ android:orientation="horizontal">
+
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+
-
+ android:text="@string/primary_color"
+ android:textSize="16sp"
+ android:textStyle="bold" />
+
+
+
+ android:gravity="end"
+ android:orientation="vertical">
+
+ android:background="?colorPrimary" />
Moodle
Einstellungen
+
+ überspringen
+ weiter
+ fertig
+ Willkommen bei Project Laogai.\nBevor wir loslegen können, richte bitte die App ein.
+ los geht\'s
+ Studiengang
+ Wähle deinen aktuellen Studiengang.\nZusätzliche Vorlesungen können später hinzugefügt werden.
+ Noten
+ Project Laogai kann uaf die Notenverwaltung zugreifen. Deine Login-Daten werden verschlüsselt auf deinem Gerät gespeichert.
+ E-Mail
+ Passwort
+ login
+
Essen
Heute, %1$s
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1a03827..0a293d9 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,6 +12,20 @@
Moodle
Settings
+
+ skip
+ next
+ start
+ Welcome to Project Laogai.\nBefore we can start, setup the App.
+ get started
+ Course
+ Select your current course.\nAdditional lessons can be added later.
+ Grades
+ Project Laogai can connect to the HIS Online-Portal. Your Login-Data will be stored encrypted on your device.
+ E-Mail
+ Password
+ login
+
Meal
Today, %1$s