sharee.bike-App/TINK/TINK.Android/MainActivity.cs

108 lines
3.9 KiB
C#
Raw Normal View History

2022-09-20 13:51:55 +02:00
2021-05-13 20:16:41 +02:00
using Android.App;
2022-08-30 15:42:25 +02:00
using Android.Content;
2021-05-13 20:16:41 +02:00
using Android.Content.PM;
2022-08-30 15:42:25 +02:00
using Android.Content.Res;
2021-05-13 20:16:41 +02:00
using Android.OS;
2022-08-30 15:42:25 +02:00
using Android.Util;
using Firebase;
2021-05-13 20:16:41 +02:00
using Java.Interop;
2021-12-08 17:57:30 +01:00
using Plugin.Permissions;
2022-01-04 18:54:03 +01:00
using Xamarin.Forms.Platform.Android.AppLinks;
2021-05-13 20:16:41 +02:00
namespace TINK.Droid
{
2022-09-06 16:08:19 +02:00
[Activity(Label = "Sharee", Icon = "@drawable/sharee", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "https",
2022-09-20 13:51:55 +02:00
DataHost = "app.sharee.bike",
DataPathPrefix = "/App-shareebike",
2022-09-06 16:08:19 +02:00
AutoVerify = true)]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.ActionView, Intent.CategoryBrowsable, Intent.CategoryDefault },
DataScheme = "http",
2022-09-20 13:51:55 +02:00
DataHost = "app.sharee.bike",
DataPathPrefix = "/App-shareebike",
2022-09-06 16:08:19 +02:00
AutoVerify = true)]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
private void initFontScale()
{
Configuration configuration = Resources.Configuration;
configuration.FontScale = (float)1;
//0.85 small, 1 standard, 1.15 big1.3 more bigger 1.45 supper big
DisplayMetrics metrics = new DisplayMetrics();
WindowManager.DefaultDisplay.GetMetrics(metrics);
metrics.ScaledDensity = configuration.FontScale * metrics.Density;
BaseContext.Resources.UpdateConfiguration(configuration, metrics);
}
protected override void OnCreate(Bundle bundle)
{
initFontScale();
TabLayoutResource = Resource.Layout.Tabbar;
ToolbarResource = Resource.Layout.Toolbar;
base.OnCreate(bundle);
global::Xamarin.Forms.Forms.Init(this, bundle);
FirebaseApp.InitializeApp(this);
AndroidAppLinks.Init(this);
// Initialize xamarin.essentials, see https://docs.microsoft.com/en-us/xamarin/essentials/get-started?tabs=macos%2Candroid.
Xamarin.Essentials.Platform.Init(this, bundle);
// Required for initialization of Maps, see https://developer.xamarin.com/guides/xamarin-forms/user-interface/map/
Xamarin.FormsGoogleMaps.Init(this, bundle);
// Required for initialization of binding package, see https://github.com/nuitsjp/Xamarin.Forms.GoogleMaps.Bindings.
Xamarin.FormsGoogleMapsBindings.Init();
// Get version name of app.
Context context = ApplicationContext;
new Model.Device.AppInfo(context.PackageManager.GetPackageInfo(context.PackageName, 0).VersionName);
Xamarin.Forms.Forms.ViewInitialized += (object sender, Xamarin.Forms.ViewInitializedEventArgs e) =>
{
if (!string.IsNullOrWhiteSpace(e.View.AutomationId))
{
e.NativeView.ContentDescription = e.View.AutomationId;
}
};
LoadApplication(new App());
}
/// <summary>
/// Handles opening the dialog to request for permissions.
/// </summary>
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
{
if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Essentials.Permissions))
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
else if (App.PermissionsService.GetType() == typeof(TINK.Services.Permissions.Plugin.Permissions))
{
// Bug in 3.0.244 and earlier versions of sharee.bike app: Call of PermissionsImplementation.Current.OnRequestedPermission result was missing.
// see https://dev.azure.com/TeilRad/sharee.bike%20Buchungsplattform/_workitems/edit/136 for further details.
PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
[Export("TapStation")]
public void TapStation(string stationNr)
{
BackdoorMethodHelpers.DoTapPage(stationNr);
}
}
2021-05-13 20:16:41 +02:00
}