am d0e6598b: Merge "Start of SharedPreferences.startCommit()" into gingerbread

Merge commit 'd0e6598b4a32f3000247341414449a3aa4d9f7f4' into gingerbread-plus-aosp

* commit 'd0e6598b4a32f3000247341414449a3aa4d9f7f4':
  Start of SharedPreferences$Editor.startCommit()
This commit is contained in:
Brad Fitzpatrick
2010-08-25 15:19:57 -07:00
committed by Android Git Automerger
3 changed files with 51 additions and 2 deletions

View File

@@ -45127,6 +45127,17 @@
<parameter name="key" type="java.lang.String">
</parameter>
</method>
<method name="startCommit"
return="void"
abstract="true"
native="false"
synchronized="false"
static="false"
final="false"
deprecated="not deprecated"
visibility="public"
>
</method>
</interface>
<interface name="SharedPreferences.OnSharedPreferenceChangeListener"
abstract="true"

View File

@@ -2838,6 +2838,11 @@ class ContextImpl extends Context {
}
}
public void startCommit() {
// TODO: implement
commit();
}
public boolean commit() {
boolean returnValue;

View File

@@ -151,14 +151,47 @@ public interface SharedPreferences {
* {@link SharedPreferences} object it is editing. This atomically
* performs the requested modifications, replacing whatever is currently
* in the SharedPreferences.
*
*
* <p>Note that when two editors are modifying preferences at the same
* time, the last one to call commit wins.
*
*
* <p>If you don't care about the return value and you're
* using this from your application's main thread, consider
* using {@link #startCommit} instead.
*
* @return Returns true if the new values were successfully written
* to persistent storage.
*/
boolean commit();
/**
* Commit your preferences changes back from this Editor to the
* {@link SharedPreferences} object it is editing. This atomically
* performs the requested modifications, replacing whatever is currently
* in the SharedPreferences.
*
* <p>Note that when two editors are modifying preferences at the same
* time, the last one to call commit wins.
*
* <p>Unlike {@link #commit}, which writes its preferences out
* to persistent storage synchronously, {@link #startCommit}
* commits its changes to the in-memory
* {@link SharedPreferences} immediately but starts an
* asynchronous commit to disk and you won't be notified of
* any failures. If another editor on this
* {@link SharedPreferences} does a regular {@link #commit}
* while a {@link #startCommit} is still outstanding, the
* {@link #commit} will block until all async commits are
* completed as well as the commit itself.
*
* <p>If you call this from an {@link android.app.Activity},
* the base class will wait for any async commits to finish in
* its {@link android.app.Activity#onPause}.</p>
*
* @return Returns true if the new values were successfully written
* to persistent storage.
*/
void startCommit();
}
/**