/**
* {@hide}
+ * DO NOT CALL ON FILES DIFFERENT FROM THE FILESYSTEM ROOT
*/
- public void open() throws IOException {
+ public void mount() throws IOException {
if (null != innerArchive) {
try {
innerArchive.getController().mknod(
/** The resource identifier for the protected resource. */
private volatile URI resource;
+ private boolean askAlwaysForWriteKey;
private volatile boolean changeRequested;
PromptingKeyProvider(PromptingKeyManager<K> manager) {
this.view = manager.getView();
+ this.askAlwaysForWriteKey = false;
}
private View<K> getView() {
}
/**
+ * {@hide}
+ */
+ public void setAskAlwaysForWriteKey(boolean askAlwaysForWriteKey) {
+ this.askAlwaysForWriteKey = askAlwaysForWriteKey;
+ }
+
+ /**
* Returns the unique resource identifier (resource ID) of the protected
* resource for which this key provider is used.
* May be {@code null}.
if (provider.isChangeRequested()) {
provider.setChangeRequested(false);
RESET.retrieveWriteKey(provider); // DON'T change state!
- } else {
- // FIXME -- CMFM -- Always ask for password. Caching is the view side.
- // This allow to reset the password (a bad way)
+ } else if (provider.askAlwaysForWriteKey) {
PromptingKeyProvider<K>.BaseController controller
= provider.new WriteController(this);
try {