blob: faeb5446f501bbbfe8454efaccd809503d057697 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.browser.tabstrip
import android.content.Context
import android.content.pm.PackageManager
import android.os.Build
import org.mozilla.fenix.Config
import org.mozilla.fenix.ext.isTablet
import org.mozilla.fenix.ext.settings
/**
* Returns true if the tab strip is enabled.
*/
fun Context.isTabStripEnabled(): Boolean =
isTabStripEligible() && settings().isTabStripEnabled
/**
* Returns true if the the device has the prerequisites to enable the tab strip.
*/
fun Context.isTabStripEligible(): Boolean =
Config.channel.isNightlyOrDebug && isTablet() && !doesDeviceHaveHinge()
/**
* Check if the device has a hinge sensor.
*/
private fun Context.doesDeviceHaveHinge(): Boolean =
Build.VERSION.SDK_INT >= Build.VERSION_CODES.R &&
packageManager.hasSystemFeature(PackageManager.FEATURE_SENSOR_HINGE_ANGLE)
|