public void ReadOnlyKitKat() { var storage = new BuiltInFileStorage(new TestKp2aApp()); var extFile = "/storage/sdcard1/file.txt"; Assert.IsTrue(storage.IsReadOnly(IOConnectionInfo.FromPath(extFile))); Assert.IsTrue(storage.IsReadOnly(IOConnectionInfo.FromPath(extFile))); Assert.IsFalse(storage.IsReadOnly(IOConnectionInfo.FromPath(Application.Context.GetExternalFilesDir(null).AbsolutePath + "/file.txt"))); }
private void PrimaryIocSelected(IOConnectionInfo ioc) { var filestorage = _app.GetFileStorage(ioc, false); if (!filestorage.IsPermanentLocation(ioc)) { string message = _app.GetResourceString(UiStringKey.FileIsTemporarilyAvailable) + " " + _app.GetResourceString(UiStringKey.CopyFileRequired) + " " + _app.GetResourceString(UiStringKey.ClickOkToSelectLocation); EventHandler <DialogClickEventArgs> onOk = (sender, args) => { MoveToWritableLocation(ioc); }; EventHandler <DialogClickEventArgs> onCancel = (sender, args) => { ReturnCancel(); }; ShowAlertDialog(message, onOk, onCancel); return; } if ((RequestedWritableRequirements != WritableRequirements.ReadOnly) && (filestorage.IsReadOnly(ioc))) { string readOnlyExplanation = _app.GetResourceString(UiStringKey.FileIsReadOnly); BuiltInFileStorage builtInFileStorage = filestorage as BuiltInFileStorage; if (builtInFileStorage != null) { if (builtInFileStorage.IsReadOnlyBecauseKitkatRestrictions(ioc)) { readOnlyExplanation = _app.GetResourceString(UiStringKey.FileIsReadOnlyOnKitkat); } } EventHandler <DialogClickEventArgs> onOk = (sender, args) => { MoveToWritableLocation(ioc); }; EventHandler <DialogClickEventArgs> onCancel = (sender, args) => { if (RequestedWritableRequirements == WritableRequirements.WriteDemanded) { ReturnCancel(); } else { ReturnOk(ioc); } }; ShowAlertDialog(readOnlyExplanation + " " + (RequestedWritableRequirements == WritableRequirements.WriteDemanded ? _app.GetResourceString(UiStringKey.CopyFileRequired) : _app.GetResourceString(UiStringKey.CopyFileRequiredForEditing)) + " " + _app.GetResourceString(UiStringKey.ClickOkToSelectLocation), onOk, onCancel); return; } ReturnOk(ioc); }
public TestFileStorage(IKp2aApp app) { _builtIn = new BuiltInFileStorage(app); }