diff options
author | Marvin Borner | 2018-07-24 16:34:08 +0200 |
---|---|---|
committer | Marvin Borner | 2018-07-24 16:34:08 +0200 |
commit | eda695878d61ef761546295682afe4a450697d3d (patch) | |
tree | 29a03173504c4297445ea073af07db4c4472457a | |
parent | f7fd5f3d65c1d93c98ce5a49903e5b1d42920099 (diff) |
Switched to dark theme and fixed several small things
-rw-r--r-- | app/build.gradle | 3 | ||||
-rw-r--r-- | app/src/main/AndroidManifest.xml | 11 | ||||
-rw-r--r-- | app/src/main/java/com/beam_messenger/beam_messenger/LoginActivity.kt | 13 | ||||
-rw-r--r-- | app/src/main/java/com/beam_messenger/beam_messenger/MainActivity.kt | 22 | ||||
-rw-r--r-- | app/src/main/res/layout/activity_main.xml | 33 | ||||
-rw-r--r-- | app/src/main/res/layout/content_main.xml | 11 | ||||
-rw-r--r-- | app/src/main/res/values/dimens.xml | 1 | ||||
-rw-r--r-- | app/src/main/res/values/strings.xml | 9 | ||||
-rw-r--r-- | app/src/main/res/values/styles.xml | 11 |
9 files changed, 101 insertions, 13 deletions
diff --git a/app/build.gradle b/app/build.gradle index e73b0e7..51ea098 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -24,9 +24,10 @@ android { dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) - implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" + implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" implementation 'com.android.support:appcompat-v7:28.0.0-alpha3' implementation 'com.android.support:design:28.0.0-alpha3' + implementation 'com.android.support.constraint:constraint-layout:1.1.2' 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' diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 0847bbd..a990adc 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.beam_messenger.beam_messenger"> + <!-- To auto-complete the email text field in the login form with the user's emails --> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <uses-permission android:name="android.permission.READ_PROFILE" /> @@ -22,6 +23,16 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity + android:name=".MainActivity" + android:label="@string/title_activity_main" + android:theme="@style/AppTheme.NoActionBar"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> </application> </manifest>
\ No newline at end of file diff --git a/app/src/main/java/com/beam_messenger/beam_messenger/LoginActivity.kt b/app/src/main/java/com/beam_messenger/beam_messenger/LoginActivity.kt index 9662778..8c91771 100644 --- a/app/src/main/java/com/beam_messenger/beam_messenger/LoginActivity.kt +++ b/app/src/main/java/com/beam_messenger/beam_messenger/LoginActivity.kt @@ -23,6 +23,7 @@ import android.widget.TextView import java.util.ArrayList import android.Manifest.permission.READ_CONTACTS +import android.content.Intent import kotlinx.android.synthetic.main.activity_login.* @@ -142,13 +143,11 @@ class LoginActivity : AppCompatActivity(), LoaderCallbacks<Cursor> { } private fun isEmailValid(email: String): Boolean { - //TODO: Replace this with your own logic return email.contains("@") } private fun isPasswordValid(password: String): Boolean { - //TODO: Replace this with your own logic - return password.length > 4 + return password.length > 7 } /** @@ -246,7 +245,7 @@ class LoginActivity : AppCompatActivity(), LoaderCallbacks<Cursor> { try { // Simulate network access. - Thread.sleep(2000) + Thread.sleep(1000) } catch (e: InterruptedException) { return false } @@ -266,7 +265,9 @@ class LoginActivity : AppCompatActivity(), LoaderCallbacks<Cursor> { showProgress(false) if (success!!) { - finish() + val intent = Intent(this@LoginActivity, MainActivity::class.java) + //intent.putExtra("keyIdentifier", value) + startActivity(intent) } else { password.error = getString(R.string.error_incorrect_password) password.requestFocus() @@ -290,6 +291,6 @@ class LoginActivity : AppCompatActivity(), LoaderCallbacks<Cursor> { * A dummy authentication store containing known user names and passwords. * TODO: remove after connecting to a real authentication system. */ - private val DUMMY_CREDENTIALS = arrayOf("foo@example.com:hello", "bar@example.com:world") + private val DUMMY_CREDENTIALS = arrayOf("foo@example.com:password", "bar@example.com:helloworld") } } diff --git a/app/src/main/java/com/beam_messenger/beam_messenger/MainActivity.kt b/app/src/main/java/com/beam_messenger/beam_messenger/MainActivity.kt new file mode 100644 index 0000000..d708a98 --- /dev/null +++ b/app/src/main/java/com/beam_messenger/beam_messenger/MainActivity.kt @@ -0,0 +1,22 @@ +package com.beam_messenger.beam_messenger + +import android.os.Bundle +import android.support.design.widget.Snackbar +import android.support.v7.app.AppCompatActivity + +import kotlinx.android.synthetic.main.activity_main.* + +class MainActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + setSupportActionBar(toolbar) + + fab.setOnClickListener { view -> + Snackbar.make(view, "Sorry, this feature is currently unavailable.", Snackbar.LENGTH_LONG) + .setAction("Action", null).show() + } + } + +} diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..eed4d89 --- /dev/null +++ b/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context=".MainActivity"> + + <android.support.design.widget.AppBarLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:theme="@style/AppTheme.AppBarOverlay"> + + <android.support.v7.widget.Toolbar + android:id="@+id/toolbar" + android:layout_width="match_parent" + android:layout_height="?attr/actionBarSize" + android:background="?attr/colorPrimary" + app:popupTheme="@style/AppTheme.PopupOverlay" /> + + </android.support.design.widget.AppBarLayout> + + <include layout="@layout/content_main" /> + + <android.support.design.widget.FloatingActionButton + android:id="@+id/fab" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="bottom|end" + android:layout_margin="@dimen/fab_margin" + app:srcCompat="@android:drawable/ic_dialog_email" /> + +</android.support.design.widget.CoordinatorLayout>
\ No newline at end of file diff --git a/app/src/main/res/layout/content_main.xml b/app/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..c649451 --- /dev/null +++ b/app/src/main/res/layout/content_main.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layout_behavior="@string/appbar_scrolling_view_behavior" + tools:context=".MainActivity" + tools:showIn="@layout/activity_main"> + +</android.support.constraint.ConstraintLayout>
\ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 47c8224..812cb7b 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -2,4 +2,5 @@ <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> + <dimen name="fab_margin">16dp</dimen> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index bfbb221..6576e72 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,14 +3,13 @@ <!-- Strings related to login --> <string name="prompt_email">Email</string> - <string name="prompt_password">Password (optional)</string> - <string name="action_sign_in">Sign in or register</string> + <string name="prompt_password">Password</string> + <string name="action_sign_in">Sign in</string> <string name="action_sign_in_short">Sign in</string> <string name="error_invalid_email">This email address is invalid</string> <string name="error_invalid_password">This password is too short</string> <string name="error_incorrect_password">This password is incorrect</string> <string name="error_field_required">This field is required</string> - <string name="permission_rationale">"Contacts permissions are needed for providing email - completions." - </string> + <string name="permission_rationale">"Contacts permissions are needed for providing email completions."</string> + <string name="title_activity_main">Home</string> </resources> diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 5885930..d4ea9ae 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -1,11 +1,20 @@ <resources> <!-- Base application theme. --> - <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> + <style name="AppTheme" parent="Theme.AppCompat"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorAccent</item> </style> + <style name="AppTheme.NoActionBar"> + <item name="windowActionBar">false</item> + <item name="windowNoTitle">true</item> + </style> + + <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" /> + + <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" /> + </resources> |