add missing files
This commit is contained in:
		
							
								
								
									
										38
									
								
								src/Kp2aBusinessLogic/Io/OneDriveFileStorage.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								src/Kp2aBusinessLogic/Io/OneDriveFileStorage.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.IO; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| using Android.App; | ||||
| using Android.Content; | ||||
| using Android.OS; | ||||
| using Android.Runtime; | ||||
| using Android.Views; | ||||
| using Android.Widget; | ||||
| using KeePassLib.Serialization; | ||||
| #if !EXCLUDE_JAVAFILESTORAGE | ||||
| using Keepass2android.Javafilestorage; | ||||
|  | ||||
| namespace keepass2android.Io | ||||
| { | ||||
| 	public class OneDriveFileStorage: JavaFileStorage | ||||
| 	{ | ||||
| 		private const string ClientId = "000000004010C234"; | ||||
|  | ||||
| 		public OneDriveFileStorage(Context ctx, IKp2aApp app) : | ||||
| 			base(new Keepass2android.Javafilestorage.OneDriveStorage(ctx, ClientId), app) | ||||
| 		{ | ||||
| 		} | ||||
|  | ||||
| 		public override IEnumerable<string> SupportedProtocols | ||||
| 		{ | ||||
| 			get | ||||
| 			{ | ||||
| 				yield return "skydrive"; | ||||
| 				yield return "onedrive"; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| #endif | ||||
							
								
								
									
										71
									
								
								src/Kp2aBusinessLogic/Io/WebDavFileStorage.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								src/Kp2aBusinessLogic/Io/WebDavFileStorage.cs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Linq; | ||||
| using System.Text; | ||||
|  | ||||
| using Android.App; | ||||
| using Android.Content; | ||||
| using Android.OS; | ||||
| using Android.Runtime; | ||||
| using Android.Views; | ||||
| using Android.Widget; | ||||
| #if !NoNet | ||||
| using Keepass2android.Javafilestorage; | ||||
| #endif | ||||
| using KeePassLib.Serialization; | ||||
|  | ||||
| namespace keepass2android.Io | ||||
| { | ||||
| #if !NoNet | ||||
| 	public class WebDavFileStorage: JavaFileStorage | ||||
| 	{ | ||||
| 		public WebDavFileStorage(IKp2aApp app) : base(new Keepass2android.Javafilestorage.WebDavStorage(app.CertificateErrorHandler), app) | ||||
| 		{ | ||||
| 		} | ||||
|  | ||||
| 		public override IEnumerable<string> SupportedProtocols | ||||
| 		{ | ||||
| 			get | ||||
| 			{ | ||||
| 				yield return "http"; | ||||
| 				yield return "https"; | ||||
| 				yield return "owncloud"; | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		public static string Owncloud2Webdav(string owncloudUrl) | ||||
| 		{ | ||||
| 			string owncloudPrefix = "owncloud://"; | ||||
| 			if (owncloudUrl.StartsWith(owncloudPrefix)) | ||||
| 			{ | ||||
| 				owncloudUrl = owncloudUrl.Substring(owncloudPrefix.Length); | ||||
| 			} | ||||
| 			if (!owncloudUrl.Contains("://")) | ||||
| 				owncloudUrl = "https://" + owncloudUrl; | ||||
| 			if (!owncloudUrl.EndsWith("/")) | ||||
| 				owncloudUrl += "/"; | ||||
| 			owncloudUrl += "remote.php/webdav/"; | ||||
| 			return owncloudUrl; | ||||
| 		} | ||||
|  | ||||
| 		public override void StartSelectFile(IFileStorageSetupInitiatorActivity activity, bool isForSave, int requestCode, | ||||
| 			string protocolId) | ||||
| 		{ | ||||
| 			//need to override so we can loop the protocolId through | ||||
| 			activity.PerformManualFileSelect(isForSave, requestCode, protocolId); | ||||
| 		} | ||||
|  | ||||
| 		public override string IocToPath(IOConnectionInfo ioc) | ||||
| 		{ | ||||
| 			if (ioc.Path.StartsWith("owncloud")) | ||||
| 				throw new Exception("owncloud-URIs must be converted to https:// after credential input!"); | ||||
| 			if (!String.IsNullOrEmpty(ioc.UserName)) | ||||
| 			{ | ||||
| 				//legacy support. Some users may have stored IOCs with UserName inside. | ||||
| 				return ((WebDavStorage)Jfs).BuildFullPath(ioc.Path, ioc.UserName, ioc.Password); | ||||
| 			} | ||||
| 			return base.IocToPath(ioc); | ||||
| 		} | ||||
| 	} | ||||
| #endif | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Crocoll
					Philipp Crocoll