bitwarden-android/src/Android/Services/DeviceInfoService.cs

66 lines
1.9 KiB
C#
Raw Normal View History

using Android.App;
using Android.Content.PM;
using Android.OS;
2017-11-28 01:27:11 +03:00
using Android.Views.Autofill;
using Bit.App.Abstractions;
using Plugin.CurrentActivity;
namespace Bit.Android.Services
{
public class DeviceInfoService : IDeviceInfoService
{
public string Type => Xamarin.Forms.Device.Android;
public string Model => Build.Model;
public int Version => (int)Build.VERSION.SdkInt;
public float Scale
{
get
{
var density = Application.Context.Resources.DisplayMetrics.Density;
if(density <= 0.75)
{
return 0.75f;
}
else if(density <= 1)
{
return 1f;
}
else if(density <= 1.5)
{
return 1.5f;
}
else if(density <= 2)
{
return 2f;
}
else if(density <= 3)
{
return 3f;
}
else if(density <= 4)
{
return 4f;
}
return 1f;
}
}
2017-06-29 05:24:04 +03:00
public bool NfcEnabled => Utilities.NfcEnabled();
public bool HasCamera => CrossCurrentActivity.Current.Activity.PackageManager.HasSystemFeature(
PackageManager.FeatureCamera);
2017-11-28 01:27:11 +03:00
public bool AutofillServiceSupported => AutofillSupported();
2017-11-29 23:47:43 +03:00
public bool HasFaceIdSupport => false;
2017-11-28 01:27:11 +03:00
private bool AutofillSupported()
{
if(Build.VERSION.SdkInt < BuildVersionCodes.O)
{
return false;
}
var afm = (AutofillManager)CrossCurrentActivity.Current.Activity.GetSystemService(
Java.Lang.Class.FromType(typeof(AutofillManager)));
2017-11-28 01:27:11 +03:00
return afm.IsAutofillSupported;
}
}
}