Merge branch 'master' of https://github.com/PhilippC/keepass2android
This commit is contained in:
		| @@ -2,7 +2,7 @@ Keepass2Android's apk is pretty big, e.g. when comparing to Keepassdroid. The ma | ||||
|  | ||||
| Here's a list of what is contained in the Keepass2Android 0.9.1 application package: | ||||
|  | ||||
| {{ | ||||
| ``` | ||||
| Mono for Android		 | ||||
| 			.net dlls			5.0 MB | ||||
| 			Runtime				2.5 MB				 | ||||
| @@ -22,4 +22,4 @@ Java/Mono bindings					0.5 MB | ||||
| rest							0.3 MB		 | ||||
|  | ||||
| TOTAL							13 MB | ||||
| }} | ||||
| ``` | ||||
|   | ||||
| @@ -1,3 +1,6 @@ | ||||
| <h1 align="center"><img src="/src/keepass2android/Resources/mipmap-xxxhdpi/ic_launcher_online.png" align="center" width="100" alt="Keepass2Android Logo">Keepass2Android</h1> | ||||
|  | ||||
|  | ||||
| # What is Keepass2Android? | ||||
| Keepass2Android is a password manager app. It allows to store and retrieve passwords and other sensitive information in a file called "database". This database is secured with a so-called master password. The master password typically is a strong password and can be complemented with a second factor for additional security. | ||||
| The password database file can be synchronized across different devices. This works best using one of the built-in cloud storage options, but can also be performed with third-party apps. Keepass2Android is compatible with Keepass 1 and Keepass 2 on Windows and KeepassX on Linux. | ||||
|   | ||||
| @@ -178,7 +178,9 @@ namespace keepass2android.Io | ||||
| 				if (!IsCached(ioc)) | ||||
| 					throw; | ||||
|  | ||||
| #if DEBUG | ||||
|                 Kp2aLog.Log("couldn't open from remote " + ioc.Path); | ||||
| #endif | ||||
| 				Kp2aLog.Log(ex.ToString()); | ||||
|  | ||||
| 				_cacheSupervisor.CouldntOpenFromRemote(ioc, ex); | ||||
|   | ||||
| @@ -233,7 +233,6 @@ namespace keepass2android.Io | ||||
|  | ||||
| 		public FileDescription GetFileDescription(IOConnectionInfo ioc) | ||||
| 		{ | ||||
| 			Kp2aLog.Log("GetFileDescription "+ioc.Path); | ||||
| 			try | ||||
| 			{ | ||||
| 				return ConvertToFileDescription(Jfs.GetFileEntry(IocToPath(ioc))); | ||||
| @@ -302,7 +301,9 @@ namespace keepass2android.Io | ||||
|  | ||||
| 		public void OnResume(IFileStorageSetupActivity activity) | ||||
| 		{ | ||||
| #if DEBUG | ||||
| 			Kp2aLog.Log("JFS/OnResume Ioc.Path=" +activity.Ioc.Path+". Path="+((IJavaFileStorageFileStorageSetupActivity)activity).Path); | ||||
| #endif | ||||
| 			_jfs.OnResume(((IJavaFileStorageFileStorageSetupActivity) activity)); | ||||
| 		} | ||||
|  | ||||
| @@ -366,4 +367,4 @@ namespace keepass2android.Io | ||||
| 		} | ||||
| 	} | ||||
| #endif | ||||
| } | ||||
|         } | ||||
| @@ -14,6 +14,7 @@ import java.util.ArrayList; | ||||
| import java.util.Iterator; | ||||
| import java.util.List; | ||||
| import java.util.NoSuchElementException; | ||||
| import java.util.UUID; | ||||
| import java.util.regex.Pattern; | ||||
|  | ||||
| import com.pcloud.sdk.ApiClient; | ||||
| @@ -52,7 +53,7 @@ public class PCloudFileStorage extends JavaFileStorageBase | ||||
|  | ||||
|     @Override | ||||
|     public boolean requiresSetup(String path) { | ||||
|         return true; | ||||
|         return !this.isConnected(); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
| @@ -135,8 +136,10 @@ public class PCloudFileStorage extends JavaFileStorageBase | ||||
|         String filePath = path.substring(0, path.lastIndexOf("/") + 1); | ||||
|         RemoteFolder remoteFolder = this.getRemoteFolderByPath(filePath); | ||||
|  | ||||
|         String tempName = "." + UUID.randomUUID().toString(); | ||||
|         try { | ||||
|             this.apiClient.createFile(remoteFolder, filename, dataSource).execute(); | ||||
|             RemoteFile remoteFile = this.apiClient.createFile(remoteFolder, tempName, dataSource).execute(); | ||||
|             this.apiClient.rename(remoteFile, filename).execute(); | ||||
|         } catch (ApiError e) { | ||||
|             throw convertApiError(e); | ||||
|         } | ||||
| @@ -372,7 +375,7 @@ public class PCloudFileStorage extends JavaFileStorageBase | ||||
|  | ||||
|     private Exception convertApiError(ApiError e) { | ||||
|         String strErrorCode = String.valueOf(e.errorCode()); | ||||
|         if (strErrorCode.startsWith("1") || "2000".equals(strErrorCode)) { | ||||
|         if (strErrorCode.startsWith("1") || "2000".equals(strErrorCode) || "2095".equals(strErrorCode)) { | ||||
|             this.clearAuthToken(); | ||||
|             return new UserInteractionRequiredException("Unlinked from PCloud! User must re-link.", e); | ||||
|         } else if (strErrorCode.startsWith("2")) { | ||||
|   | ||||
| @@ -515,8 +515,8 @@ | ||||
|   <string name="enter_owncloud_login_title">Enter OwnCloud login data:</string> | ||||
|   <string name="hint_owncloud_url">OwnCloud URL (ex: owncloud.me.com)</string> | ||||
|  | ||||
|   <string name="enter_nextcloud_login_title">Enter NextCloud login data:</string> | ||||
|   <string name="hint_nextcloud_url">NextCloud URL (ex: nextcloud.me.com)</string> | ||||
|   <string name="enter_nextcloud_login_title">Enter Nextcloud login data:</string> | ||||
|   <string name="hint_nextcloud_url">Nextcloud URL (ex: nextcloud.me.com)</string> | ||||
|    | ||||
|   <string name="hint_sftp_host">host (ex: 192.168.0.1)</string> | ||||
| 	<string name="hint_sftp_port">port</string> | ||||
| @@ -538,7 +538,7 @@ | ||||
| 	<string name="filestoragename_http">HTTP (WebDav)</string> | ||||
| 	<string name="filestoragename_https">HTTPS (WebDav)</string> | ||||
|   <string name="filestoragename_owncloud">OwnCloud</string> | ||||
|   <string name="filestoragename_nextcloud">NextCloud</string> | ||||
|   <string name="filestoragename_nextcloud">Nextcloud</string> | ||||
|   <string name="filestoragename_dropbox">Dropbox</string> | ||||
| 	<string name="filestoragename_dropboxKP2A">Dropbox (KP2A folder)</string> | ||||
| 	<string name="filestoragehelp_dropboxKP2A">If you do not want to give KP2A access to your full Dropbox, you may select this option. It will request only access to the folder Apps/Keepass2Android. This is especially suited when creating a new database. If you already have a database, click this option to create the folder, then place your file inside the folder (from your PC) and then select this option again for opening the file.</string> | ||||
|   | ||||
| @@ -44,7 +44,7 @@ namespace keepass2android.fileselect | ||||
| 			Ioc = new IOConnectionInfo(); | ||||
| 			Util.SetIoConnectionFromIntent(Ioc, Intent); | ||||
|  | ||||
| 			Kp2aLog.Log("FSSA.OnCreate with " + Ioc.Path); | ||||
| 			Kp2aLog.Log("FSSA.OnCreate"); | ||||
|  | ||||
| 			ProcessName = Intent.GetStringExtra(FileStorageSetupDefs.ExtraProcessName); | ||||
| 			IsForSave = Intent.GetBooleanExtra(FileStorageSetupDefs.ExtraIsForSave, false); | ||||
|   | ||||
| @@ -32,7 +32,7 @@ namespace keepass2android | ||||
|  | ||||
| 		public void StartSelectFileProcess(IOConnectionInfo ioc, bool isForSave, int requestCode) | ||||
| 		{ | ||||
| 			Kp2aLog.Log("FSSIA: StartSelectFileProcess "+ioc.Path); | ||||
| 			Kp2aLog.Log("FSSIA: StartSelectFileProcess "); | ||||
| 			Intent fileStorageSetupIntent = new Intent(_activity, typeof(FileStorageSetupActivity)); | ||||
| 			fileStorageSetupIntent.PutExtra(FileStorageSetupDefs.ExtraProcessName, FileStorageSetupDefs.ProcessNameSelectfile); | ||||
| 			fileStorageSetupIntent.PutExtra(FileStorageSetupDefs.ExtraIsForSave, isForSave); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Philipp Crocoll
					Philipp Crocoll