From a0baeb61f17030db442edca11a39fbd46002e6f1 Mon Sep 17 00:00:00 2001 From: Aurelien Hubert Date: Mon, 11 Feb 2019 16:45:37 +0100 Subject: [PATCH] Add first components --- app/src/main/AndroidManifest.xml | 2 +- .../android/PokerAnalyticsApplication.kt | 18 +++++++ .../android/model/realm/Session.kt | 53 +++++++++++++++++++ .../{MainActivity.kt => HomeActivity.kt} | 30 +++++++++-- .../android/ui/fragment/HistoryFragment.kt | 34 ++++++++++++ .../android/ui/fragment/SettingsFragment.kt | 34 ++++++++++++ .../android/ui/fragment/StatsFragment.kt | 34 ++++++++++++ .../android/util/PokerAnalyticsActivity.kt | 13 +++++ .../android/util/PokerAnalyticsFragment.kt | 13 +++++ app/src/main/res/layout/activity_main.xml | 3 +- app/src/main/res/layout/fragment_history.xml | 23 ++++++++ app/src/main/res/layout/fragment_settings.xml | 23 ++++++++ app/src/main/res/layout/fragment_stats.xml | 23 ++++++++ app/src/main/res/menu/navigation.xml | 6 +-- app/src/main/res/values/strings.xml | 8 +-- 15 files changed, 303 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt rename app/src/main/java/net/pokeranalytics/android/ui/activity/{MainActivity.kt => HomeActivity.kt} (60%) create mode 100644 app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsActivity.kt create mode 100644 app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsFragment.kt create mode 100644 app/src/main/res/layout/fragment_history.xml create mode 100644 app/src/main/res/layout/fragment_settings.xml create mode 100644 app/src/main/res/layout/fragment_stats.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1cc27c9c..a0d144ab 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,7 +12,7 @@ android:theme="@style/AppTheme"> diff --git a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt index 7addeb66..0dca3d25 100644 --- a/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt +++ b/app/src/main/java/net/pokeranalytics/android/PokerAnalyticsApplication.kt @@ -1,12 +1,30 @@ package net.pokeranalytics.android import android.app.Application +import io.realm.Realm +import io.realm.Realm.setDefaultConfiguration +import io.realm.RealmConfiguration + + class PokerAnalyticsApplication: Application() { override fun onCreate() { super.onCreate() + // Realm + Realm.init(this) + val realmConfiguration = RealmConfiguration.Builder() + .name(Realm.DEFAULT_REALM_NAME) + .deleteRealmIfMigrationNeeded() + .build() + Realm.setDefaultConfiguration(realmConfiguration) + + if (!BuildConfig.DEBUG) { + + + + } } diff --git a/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt new file mode 100644 index 00000000..2f6b4a6b --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/model/realm/Session.kt @@ -0,0 +1,53 @@ +package net.pokeranalytics.android.model.realm + +import io.realm.RealmObject +import io.realm.annotations.PrimaryKey +import net.pokeranalytics.android.* +import java.util.* + +open class Session : RealmObject() { + + init { + + } + + // A comment written by the user + var comment: String? = null + + // The date of creation of the session + var creationDate: Date = Date() + var limit: Int? = null + var numberOfTables: Int = 1 + var tableSize: Int? = null + + + /* + var game: Game? = null + + //var bankroll: Bankroll? = bankroll + var bankroll: Bankroll? = null + + var hands: List = listOf() + + //var timeFrame: TimeFrame = timeFrame + var timeFrame: TimeFrame? = null + + var location: Location? = null + + var result: Result = Result() + + var opponents: List = listOf() + + // @todo serie + + // @todo cash game blind: 2/5/10, short deck ante, big bets in fixed limit + + // Tournament + + var entryFee: Double? = null + var numberOfPlayers: Int? = null + + // @todo tournament type? + */ + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/activity/MainActivity.kt b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt similarity index 60% rename from app/src/main/java/net/pokeranalytics/android/ui/activity/MainActivity.kt rename to app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt index 6055c953..e9fd2e3f 100644 --- a/app/src/main/java/net/pokeranalytics/android/ui/activity/MainActivity.kt +++ b/app/src/main/java/net/pokeranalytics/android/ui/activity/HomeActivity.kt @@ -1,25 +1,36 @@ package net.pokeranalytics.android.ui.activity +import android.content.Context +import android.content.Intent import android.os.Bundle import com.google.android.material.bottomnavigation.BottomNavigationView -import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_main.* import net.pokeranalytics.android.R +import net.pokeranalytics.android.util.PokerAnalyticsActivity -class MainActivity : AppCompatActivity() { +class HomeActivity : PokerAnalyticsActivity() { + + companion object { + fun newInstance(context: Context, id: Int) { + val intent = Intent(context, HomeActivity::class.java) + intent.putExtra("id", 10) + context.startActivity(intent) + } + } private val mOnNavigationItemSelectedListener = BottomNavigationView.OnNavigationItemSelectedListener { item -> when (item.itemId) { R.id.navigation_home -> { - message.setText(R.string.title_home) + message.setText(R.string.title_history) return@OnNavigationItemSelectedListener true } R.id.navigation_dashboard -> { - message.setText(R.string.title_dashboard) + message.setText(R.string.title_stats) + openDetails() return@OnNavigationItemSelectedListener true } R.id.navigation_notifications -> { - message.setText(R.string.title_notifications) + message.setText(R.string.title_settings) return@OnNavigationItemSelectedListener true } } @@ -31,5 +42,14 @@ class MainActivity : AppCompatActivity() { setContentView(R.layout.activity_main) navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener) + } + + private fun openDetails() { + + + + + } + } diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt new file mode 100644 index 00000000..c9e24cef --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/HistoryFragment.kt @@ -0,0 +1,34 @@ +package net.pokeranalytics.android.ui.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import net.pokeranalytics.android.R +import net.pokeranalytics.android.util.PokerAnalyticsFragment + +class HistoryFragment : PokerAnalyticsFragment() { + + companion object { + + /** + * Create new instance + */ + fun newInstance(): HistoryFragment { + val fragment = HistoryFragment() + val bundle = Bundle() + fragment.arguments = bundle + return fragment + } + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_history, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt new file mode 100644 index 00000000..ac4db256 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/SettingsFragment.kt @@ -0,0 +1,34 @@ +package net.pokeranalytics.android.ui.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import net.pokeranalytics.android.R +import net.pokeranalytics.android.util.PokerAnalyticsFragment + +class SettingsFragment : PokerAnalyticsFragment() { + + companion object { + + /** + * Create new instance + */ + fun newInstance(): SettingsFragment { + val fragment = SettingsFragment() + val bundle = Bundle() + fragment.arguments = bundle + return fragment + } + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_settings, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt new file mode 100644 index 00000000..d1ee53f9 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/ui/fragment/StatsFragment.kt @@ -0,0 +1,34 @@ +package net.pokeranalytics.android.ui.fragment + +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.Fragment +import net.pokeranalytics.android.R +import net.pokeranalytics.android.util.PokerAnalyticsFragment + +class StatsFragment : PokerAnalyticsFragment() { + + companion object { + + /** + * Create new instance + */ + fun newInstance(): StatsFragment { + val fragment = StatsFragment() + val bundle = Bundle() + fragment.arguments = bundle + return fragment + } + } + + override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { + return inflater.inflate(R.layout.fragment_stats, container, false) + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsActivity.kt b/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsActivity.kt new file mode 100644 index 00000000..80c41111 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsActivity.kt @@ -0,0 +1,13 @@ +package net.pokeranalytics.android.util + +import android.os.Bundle +import android.os.PersistableBundle +import androidx.appcompat.app.AppCompatActivity + +open class PokerAnalyticsActivity: AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) { + super.onCreate(savedInstanceState, persistentState) + } + +} \ No newline at end of file diff --git a/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsFragment.kt b/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsFragment.kt new file mode 100644 index 00000000..f083b551 --- /dev/null +++ b/app/src/main/java/net/pokeranalytics/android/util/PokerAnalyticsFragment.kt @@ -0,0 +1,13 @@ +package net.pokeranalytics.android.util + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.fragment.app.Fragment + +open class PokerAnalyticsFragment: Fragment() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + } + +} \ 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 2be04d4c..1e0966f1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -6,7 +6,7 @@ android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.activity.MainActivity"> + tools:context=".ui.activity.HomeActivity"> diff --git a/app/src/main/res/layout/fragment_history.xml b/app/src/main/res/layout/fragment_history.xml new file mode 100644 index 00000000..05c56d34 --- /dev/null +++ b/app/src/main/res/layout/fragment_history.xml @@ -0,0 +1,23 @@ + + + + + + \ 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 new file mode 100644 index 00000000..05c56d34 --- /dev/null +++ b/app/src/main/res/layout/fragment_settings.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_stats.xml b/app/src/main/res/layout/fragment_stats.xml new file mode 100644 index 00000000..05c56d34 --- /dev/null +++ b/app/src/main/res/layout/fragment_stats.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/menu/navigation.xml b/app/src/main/res/menu/navigation.xml index e339254a..f7f67d3a 100644 --- a/app/src/main/res/menu/navigation.xml +++ b/app/src/main/res/menu/navigation.xml @@ -4,16 +4,16 @@ + android:title="@string/title_history"/> + android:title="@string/title_stats"/> + android:title="@string/title_settings"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 88d5fec8..29ecc5a1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,6 +1,8 @@ Poker Analytics - Home - Dashboard - Notifications + + History + Stats + Settings +