mirror of
https://codeberg.org/timelimit/timelimit-android.git
synced 2025-10-03 01:39:22 +02:00
Add tabs to the LockActivity
This commit is contained in:
parent
a8bc2de6a0
commit
6f00b06313
6 changed files with 42 additions and 19 deletions
|
@ -97,7 +97,7 @@ class LockActivity : AppCompatActivity(), ActivityViewModelHolder {
|
|||
|
||||
model.init(blockedPackageName, blockedActivityName)
|
||||
|
||||
pager.adapter = LockActivityAdapter(supportFragmentManager)
|
||||
pager.adapter = LockActivityAdapter(supportFragmentManager, this)
|
||||
|
||||
model.content.observe(this) {
|
||||
if (isResumed && it is LockscreenContent.Blocked.BlockedCategory && it.reason == BlockingReason.RequiresCurrentDevice && !model.didOpenSetCurrentDeviceScreen) {
|
||||
|
@ -126,6 +126,8 @@ class LockActivity : AppCompatActivity(), ActivityViewModelHolder {
|
|||
showAuth.value = position > 0
|
||||
}
|
||||
})
|
||||
|
||||
tabs.setupWithViewPager(pager)
|
||||
}
|
||||
|
||||
override fun onDestroy() {
|
||||
|
|
|
@ -16,11 +16,13 @@
|
|||
|
||||
package io.timelimit.android.ui.lock
|
||||
|
||||
import android.content.Context
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
import androidx.fragment.app.FragmentPagerAdapter
|
||||
import io.timelimit.android.R
|
||||
|
||||
class LockActivityAdapter(fragmentManager: FragmentManager): FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
|
||||
class LockActivityAdapter(fragmentManager: FragmentManager, private val context: Context): FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
|
||||
override fun getCount(): Int = 2
|
||||
|
||||
override fun getItem(position: Int): Fragment = when (position) {
|
||||
|
@ -28,4 +30,10 @@ class LockActivityAdapter(fragmentManager: FragmentManager): FragmentPagerAdapte
|
|||
1 -> LockActionFragment()
|
||||
else -> throw IllegalArgumentException()
|
||||
}
|
||||
|
||||
override fun getPageTitle(position: Int): CharSequence? = context.getString(when (position) {
|
||||
0 -> R.string.lock_tab_reason
|
||||
1 -> R.string.lock_tab_action
|
||||
else -> throw IllegalArgumentException()
|
||||
})
|
||||
}
|
|
@ -13,26 +13,38 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".ui.lock.LockActivity" >
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/pager" />
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/tabs"
|
||||
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
app:fabSize="normal"
|
||||
android:src="@drawable/ic_lock_open_white_24dp"
|
||||
android:layout_margin="16dp"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/pager" />
|
||||
|
||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
app:fabSize="normal"
|
||||
android:src="@drawable/ic_lock_open_white_24dp"
|
||||
android:layout_margin="16dp"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
</LinearLayout>
|
|
@ -14,11 +14,12 @@
|
|||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<string name="lock_tab_reason">Grund</string>
|
||||
<string name="lock_tab_action">Aktionen</string>
|
||||
<string name="lock_header_blocked">Gesperrt!</string>
|
||||
|
||||
<string name="lock_header_what">Was wurde gesperrt?</string>
|
||||
<string name="lock_header_why">Warum wurde es gesperrt?</string>
|
||||
<string name="lock_header_how_proceed">Wie geht es jetzt weiter?</string>
|
||||
|
||||
<string name="lock_allow_temporarily_header">Vorübergehend erlauben</string>
|
||||
<string name="lock_allow_temporarily_text">
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
|
||||
<string name="lock_header_what">O que foi bloqueado?</string>
|
||||
<string name="lock_header_why">Por que foi bloqueado?</string>
|
||||
<string name="lock_header_how_proceed">O que você pode fazer?</string>
|
||||
|
||||
<string name="lock_allow_temporarily_header">permitir temporariamente</string>
|
||||
<string name="lock_allow_temporarily_text">
|
||||
|
|
|
@ -13,12 +13,13 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<resources>
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<string name="lock_tab_reason" tools:ignore="MissingTranslation">Reason</string>
|
||||
<string name="lock_tab_action" tools:ignore="MissingTranslation">Actions</string>
|
||||
<string name="lock_header_blocked">Blocked!</string>
|
||||
|
||||
<string name="lock_header_what">What was blocked?</string>
|
||||
<string name="lock_header_why">Why was it blocked?</string>
|
||||
<string name="lock_header_how_proceed">What can you do?</string>
|
||||
|
||||
<string name="lock_allow_temporarily_header">allow temporarily</string>
|
||||
<string name="lock_allow_temporarily_text">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue