2017-02-18 07:22:02 +03:00
|
|
|
|
using Android.App;
|
|
|
|
|
using Bit.App.Abstractions;
|
|
|
|
|
using System.Linq;
|
2016-08-27 21:36:32 +03:00
|
|
|
|
using AndroidApp = Android.App.Application;
|
2016-07-24 06:50:08 +03:00
|
|
|
|
|
|
|
|
|
namespace Bit.Android.Services
|
|
|
|
|
{
|
|
|
|
|
public class AppInfoService : IAppInfoService
|
|
|
|
|
{
|
2016-08-27 21:36:32 +03:00
|
|
|
|
public string Version => AndroidApp.Context.ApplicationContext.PackageManager
|
|
|
|
|
.GetPackageInfo(AndroidApp.Context.PackageName, 0).VersionName;
|
2016-07-24 06:50:08 +03:00
|
|
|
|
|
2016-08-27 21:36:32 +03:00
|
|
|
|
public string Build => AndroidApp.Context.ApplicationContext.PackageManager
|
|
|
|
|
.GetPackageInfo(AndroidApp.Context.PackageName, 0).VersionCode.ToString();
|
2017-02-01 08:38:35 +03:00
|
|
|
|
|
2017-02-18 07:22:02 +03:00
|
|
|
|
public bool AutofillServiceEnabled => AutofillRunning();
|
|
|
|
|
|
|
|
|
|
private bool AutofillRunning()
|
|
|
|
|
{
|
|
|
|
|
var manager = ((ActivityManager)Xamarin.Forms.Forms.Context.GetSystemService("activity"));
|
|
|
|
|
var services = manager.GetRunningServices(int.MaxValue);
|
|
|
|
|
return services.Any(s => s.Process.ToLowerInvariant().Contains("bitwarden") &&
|
|
|
|
|
s.Service.ClassName.ToLowerInvariant().Contains("autofill"));
|
|
|
|
|
}
|
2016-07-24 06:50:08 +03:00
|
|
|
|
}
|
|
|
|
|
}
|