/**@class android.provider.SearchIndexablesProvider @extends android.content.ContentProvider Base class for a search indexable provider. Such provider offers data to be indexed either as a reference to an XML file (like a {@link android.preference.PreferenceScreen}) or either as some raw data. @see SearchIndexableResource @see SearchIndexableData @see SearchIndexablesContract To create a search indexables provider, extend this class, then implement the abstract methods, and add it to your manifest like this: <pre class="prettyprint"><manifest> ... <application> ... <provider android:name="com.example.MyIndexablesProvider" android:authorities="com.example.myindexablesprovider" android:exported="true" android:grantUriPermissions="true" android:permission="android.permission.READ_SEARCH_INDEXABLES" <intent-filter> <action android:name="android.content.action.SEARCH_INDEXABLES_PROVIDER" /> </intent-filter> </provider> ... </application> </manifest></pre> <p> When defining your provider, you must protect it with {@link android.Manifest.permission#READ_SEARCH_INDEXABLES}, which is a permission only the system can obtain. </p> @hide */ var SearchIndexablesProvider = { /**Implementation is provided by the parent class. */ attachInfo : function( ) {}, /** */ query : function( ) {}, /**Returns all {@link android.provider.SearchIndexablesContract.XmlResource}. Those are Xml resource IDs to some {@link android.preference.PreferenceScreen}. @param {Object {java.lang.String[]}} projection list of {@link android.provider.SearchIndexablesContract.XmlResource} columns to put into the cursor. If {@code null} all supported columns should be included. */ queryXmlResources : function( ) {}, /**Returns all {@link android.provider.SearchIndexablesContract.RawData}. Those are the raw indexable data. @param {Object {java.lang.String[]}} projection list of {@link android.provider.SearchIndexablesContract.RawData} columns to put into the cursor. If {@code null} all supported columns should be included. */ queryRawData : function( ) {}, /**Returns all {@link android.provider.SearchIndexablesContract.NonIndexableKey}. Those are the non indexable data keys. @param {Object {java.lang.String[]}} projection list of {@link android.provider.SearchIndexablesContract.NonIndexableKey} columns to put into the cursor. If {@code null} all supported columns should be included. */ queryNonIndexableKeys : function( ) {}, /**Returns a {@link Cursor}, where rows are [parent class, child class] entries to form a site map. The list of pairs should be as complete as possible. @hide */ querySiteMapPairs : function( ) {}, /**Returns a {@link Cursor} linking {@link Slice} {@link Uri Uris} to the corresponding Settings key. */ querySliceUriPairs : function( ) {}, /** */ getType : function( ) {}, /**Implementation is provided by the parent class. Throws by default, and cannot be overridden. */ insert : function( ) {}, /**Implementation is provided by the parent class. Throws by default, and cannot be overridden. */ delete : function( ) {}, /**Implementation is provided by the parent class. Throws by default, and cannot be overridden. */ update : function( ) {}, };