From e83c41fa350d040ee31ee000046169b11218237a Mon Sep 17 00:00:00 2001
From: tibbi <tibor@kaputa.sk>
Date: Sat, 26 Nov 2016 23:40:10 +0100
Subject: [PATCH] show the current note title in a pager strip

---
 .../notes/activities/MainActivity.kt                 | 12 +++++++++++-
 .../notes/adapters/NotesPagerAdapter.kt              |  2 ++
 .../notes/fragments/NoteFragment.kt                  |  7 +++++--
 app/src/main/res/layout/activity_main.xml            | 11 ++++++++++-
 app/src/main/res/layout/fragment_note.xml            | 12 +-----------
 5 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt
index 245a27b5..4a9b5df3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/activities/MainActivity.kt
@@ -3,6 +3,8 @@ package com.simplemobiletools.notes.activities
 import android.content.Intent
 import android.os.Bundle
 import android.support.v4.view.ViewPager
+import android.util.TypedValue
+import android.view.Gravity
 import android.view.Menu
 import android.view.MenuItem
 import android.view.View
@@ -17,6 +19,7 @@ import com.simplemobiletools.notes.dialogs.NewNoteDialog
 import com.simplemobiletools.notes.dialogs.OpenNoteDialog
 import com.simplemobiletools.notes.dialogs.RenameNoteDialog
 import com.simplemobiletools.notes.extensions.dpToPx
+import com.simplemobiletools.notes.extensions.getTextSize
 import com.simplemobiletools.notes.models.Note
 import kotlinx.android.synthetic.main.activity_main.*
 import kotlinx.android.synthetic.main.fragment_note.*
@@ -34,6 +37,9 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
         mDb = DBHelper.newInstance(applicationContext)
         initViewPager()
 
+        pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
+        pager_title_strip.layoutParams.height = (pager_title_strip.height + resources.getDimension(R.dimen.activity_margin) * 2).toInt()
+
         notes_fab.setOnClickListener { displayNewNoteDialog() }
         notes_fab.viewTreeObserver.addOnGlobalLayoutListener {
             val heightDiff = notes_coordinator.rootView.height - notes_coordinator.height
@@ -57,6 +63,9 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
     override fun onResume() {
         super.onResume()
         invalidateOptionsMenu()
+        pager_title_strip.setTextSize(TypedValue.COMPLEX_UNIT_PX, getTextSize())
+        pager_title_strip.setGravity(Gravity.CENTER_VERTICAL)
+        pager_title_strip.setNonPrimaryAlpha(0.4f)
     }
 
     override fun onDestroy() {
@@ -77,6 +86,8 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
             findItem(R.id.delete_note).isVisible = shouldBeVisible
         }
 
+        pager_title_strip.visibility = if (shouldBeVisible) View.VISIBLE else View.GONE
+
         return super.onPrepareOptionsMenu(menu)
     }
 
@@ -113,7 +124,6 @@ class MainActivity : SimpleActivity(), ViewPager.OnPageChangeListener {
     private fun displayRenameDialog() {
         RenameNoteDialog(this, mDb, mCurrentNote) {
             mCurrentNote = it
-            current_note_title.text = it.title
             initViewPager()
         }
     }
diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt
index 59215c90..c1706266 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/adapters/NotesPagerAdapter.kt
@@ -31,4 +31,6 @@ class NotesPagerAdapter(fm: FragmentManager, private val notes: List<Note>) : Fr
         fragments.put(position, fragment)
         return fragment
     }
+
+    override fun getPageTitle(position: Int) = notes[position].title
 }
diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt
index 119e1a37..069f6f25 100644
--- a/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/notes/fragments/NoteFragment.kt
@@ -28,8 +28,6 @@ class NoteFragment : Fragment() {
         note = mDb.getNote(noteId) ?: return view
 
         view.notes_view.setText(note.value)
-        view.current_note_title.text = note.title
-        view.notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize())
         return view
     }
 
@@ -43,6 +41,11 @@ class NoteFragment : Fragment() {
         }
     }
 
+    override fun onResume() {
+        super.onResume()
+        view.notes_view.setTextSize(TypedValue.COMPLEX_UNIT_PX, context.getTextSize())
+    }
+
     override fun onPause() {
         super.onPause()
         saveText()
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 0d52fd43..8c2ad7ab 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -9,7 +9,16 @@
     <com.simplemobiletools.notes.views.MyViewPager
         android:id="@+id/view_pager"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_height="match_parent">
+
+        <android.support.v4.view.PagerTitleStrip
+            android:id="@+id/pager_title_strip"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="top"
+            android:paddingLeft="@dimen/activity_margin"
+            android:paddingRight="@dimen/activity_margin"/>
+    </com.simplemobiletools.notes.views.MyViewPager>
 
     <android.support.design.widget.FloatingActionButton
         android:id="@+id/notes_fab"
diff --git a/app/src/main/res/layout/fragment_note.xml b/app/src/main/res/layout/fragment_note.xml
index 8201c2de..2517053e 100644
--- a/app/src/main/res/layout/fragment_note.xml
+++ b/app/src/main/res/layout/fragment_note.xml
@@ -3,22 +3,12 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/note_Fragment_holder"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:paddingTop="@dimen/activity_margin">
-
-    <TextView
-        android:id="@+id/current_note_title"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/activity_margin"
-        android:layout_marginRight="@dimen/activity_margin"
-        android:alpha=".6"/>
+    android:layout_height="match_parent">
 
     <ScrollView
         android:id="@+id/notes_scrollview"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
-        android:layout_below="@+id/current_note_title"
         android:fillViewport="true">
 
         <EditText