<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>
<comments
  xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
  xsi:noNamespaceSchemaLocation='comments.xsd'
  name="7_to_8"
  jdversion="1.1.0">

<!-- Use this file to enter an API change description. For example, when you remove a class, 
     you can enter a comment for that class that points developers to the replacement class. 
     You can also provide a change summary for modified API, to give an overview of the changes 
     why they were made, workarounds, etc.  -->

<!-- When the API diffs report is generated, the comments in this file get added to the tables of 
     removed, added, and modified packages, classes, methods, and fields. This file does not ship 
     with the final report. -->

<!-- The id attribute in an identifier element identifies the change as noted in the report. 
     An id has the form package[.class[.[ctor|method|field].signature]], where [] indicates optional 
     text. A comment element can have multiple identifier elements, which will will cause the same 
     text to appear at each place in the report, but will be converted to separate comments when the 
     comments file is used. -->

<!-- HTML tags in the text field will appear in the report. You also need to close p HTML elements, 
     used for paragraphs - see the top-level documentation. -->

<!-- You can include standard javadoc links in your change descriptions. You can use the @first command  
     to cause jdiff to include the first line of the API documentation. You also need to close p HTML 
     elements, used for paragraphs - see the top-level documentation. -->

<comment>
  <identifier id="android"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission.BIND_DEVICE_ADMIN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission.BIND_WALLPAPER"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission.KILL_BACKGROUND_PROCESSES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission.RESTART_PACKAGES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.Manifest.permission.SET_TIME"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.anim"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.anim.cycle_interpolator"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.expandableListViewWhiteStyle"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.installLocation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.restoreAnyVersion"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.restoreNeedsApplication"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.tabStripEnabled"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.tabStripLeft"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.tabStripRight"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.vmSafeMode"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.attr.webTextViewStyle"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.id"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.R.id.custom"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.accounts"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.accounts.AccountManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.accounts.AccountManager.hasFeatures_added(android.accounts.Account, java.lang.String[], android.accounts.AccountManagerCallback&lt;java.lang.Boolean&gt;, android.os.Handler)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity.onCreateDialog_added(int, android.os.Bundle)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity.onCreateDialog_changed(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity.onPrepareDialog_added(int, android.app.Dialog, android.os.Bundle)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity.onPrepareDialog_changed(int, android.app.Dialog)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Activity.showDialog_added(int, android.os.Bundle)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager.ProcessErrorStateInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager.ProcessErrorStateInfo.stackTrace"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager.isUserAMonkey_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager.killBackgroundProcesses_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.ActivityManager.restartPackage_changed(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.AlarmManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.AlarmManager.setTime_added(long)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Dialog"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.Dialog.setOnShowListener_added(android.content.DialogInterface.OnShowListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.CURSOR_EXTRA_KEY_IN_PROGRESS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.EXTRA_SELECT_QUERY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.INTENT_ACTION_SEARCH_SETTINGS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.SUGGEST_COLUMN_TEXT_2_URL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.getSearchableInfo_added(android.content.ComponentName)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchManager.getSearchablesInGlobalSearch_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.SearchableInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.UiModeManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.admin"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.app.backup"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.AbstractThreadedSyncAdapter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.AbstractThreadedSyncAdapter.onSyncCanceled_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ComponentName"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ComponentName.clone_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_DO_NOT_RETRY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_BACKOFF"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_EXTRAS_IGNORE_SETTINGS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_ACTIVE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_PENDING"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.SYNC_OBSERVER_TYPE_SETTINGS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.addPeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle, long)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.getCurrentSync_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.getPeriodicSyncs_added(android.accounts.Account, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContentResolver.removePeriodicSync_added(android.accounts.Account, java.lang.String, android.os.Bundle)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.BIND_NOT_FOREGROUND"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.DEVICE_POLICY_SERVICE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.DROPBOX_SERVICE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.UI_MODE_SERVICE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.getExternalCacheDir_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.getExternalFilesDir_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.getPackageCodePath_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Context.getPackageResourcePath_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContextWrapper"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContextWrapper.getExternalCacheDir_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.ContextWrapper.getExternalFilesDir_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.DialogInterface.OnShowListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Entity"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Entity.NamedContentValues"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.EntityIterator"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.CATEGORY_CAR_MODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.EXTRA_CHANGED_PACKAGE_LIST"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.EXTRA_CHANGED_UID_LIST"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.getCharSequenceArrayExtra_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.getCharSequenceArrayListExtra_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.putCharSequenceArrayListExtra_added(java.lang.String, java.util.ArrayList&lt;java.lang.CharSequence&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.Intent.putExtra_added(java.lang.String, java.lang.CharSequence[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.PeriodicSync"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.SyncInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.SyncResult"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.SyncResult.delayUntil"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ActivityInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ActivityInfo.CONFIG_UI_MODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.FLAG_ALLOW_BACKUP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.FLAG_EXTERNAL_STORAGE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.FLAG_KILL_AFTER_RESTORE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.FLAG_RESTORE_ANY_VERSION"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.FLAG_VM_SAFE_MODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ApplicationInfo.backupAgentName"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ComponentInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.ComponentInfo.descriptionRes"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_BLUETOOTH"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION_GPS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_LOCATION_NETWORK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_MICROPHONE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_SENSOR_ACCELEROMETER"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_SENSOR_COMPASS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.FEATURE_WIFI"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.PKG_INSTALL_COMPLETE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.PKG_INSTALL_INCOMPLETE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.addPreferredActivity_changed(android.content.IntentFilter, int, android.content.ComponentName[], android.content.ComponentName)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.pm.PackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_MASK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_NO"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_UNDEFINED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_NIGHT_YES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_CAR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_DESK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_MASK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_NORMAL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.UI_MODE_TYPE_UNDEFINED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.readFromParcel_added(android.os.Parcel)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.setTo_added(android.content.res.Configuration)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.content.res.Configuration.uiMode"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorDoubleToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorFloatToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorIntToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorLongToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorShortToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.DatabaseUtils.cursorStringToContentValuesIfPresent_added(android.database.Cursor, android.content.ContentValues, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_ABORT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_FAIL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_IGNORE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_NONE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_REPLACE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.CONFLICT_ROLLBACK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.insertWithOnConflict_added(java.lang.String, java.lang.String, android.content.ContentValues, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteDatabase.updateWithOnConflict_added(java.lang.String, android.content.ContentValues, java.lang.String, java.lang.String[], int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.compile_changed(java.lang.String, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.mDatabase"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.nHandle"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.nStatement"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.native_compile_changed(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.database.sqlite.SQLiteProgram.native_finalize_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.Gesture"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.Gesture.clone_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.GesturePoint"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.GesturePoint.clone_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.GestureStroke"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.GestureStroke.clone_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.gesture.GestureUtils"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.ImageFormat"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.PixelFormat"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.PixelFormat.JPEG"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.PixelFormat.YCbCr_420_SP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.PixelFormat.YCbCr_422_I"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.PixelFormat.YCbCr_422_SP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.graphics.YuvImage"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.OnZoomChangeListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.FOCUS_MODE_EDOF"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.SCENE_MODE_BARCODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getExposureCompensationStep_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getExposureCompensation_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getFocalLength_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getHorizontalViewAngle_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getMaxExposureCompensation_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getMaxZoom_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getMinExposureCompensation_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getSupportedJpegThumbnailSizes_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getVerticalViewAngle_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getZoomRatios_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.getZoom_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.isSmoothZoomSupported_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.isZoomSupported_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.setExposureCompensation_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.setGpsProcessingMethod_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.Parameters.setZoom_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.addCallbackBuffer_added(byte[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.reconnect_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.setDisplayOrientation_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.setPreviewCallbackWithBuffer_added(android.hardware.Camera.PreviewCallback)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.setZoomChangeListener_added(android.hardware.Camera.OnZoomChangeListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.startSmoothZoom_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Camera.stopSmoothZoom_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Sensor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.hardware.Sensor.TYPE_ORIENTATION"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.location"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.location.LocationManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.location.LocationManager.PASSIVE_PROVIDER"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.ACTION_SCO_AUDIO_STATE_CHANGED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_REQUEST_FAILED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.AUDIOFOCUS_REQUEST_GRANTED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.EXTRA_SCO_AUDIO_STATE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.OnAudioFocusChangeListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_CONNECTED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_DISCONNECTED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.SCO_AUDIO_STATE_ERROR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.abandonAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.isBluetoothScoAvailableOffCall_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.registerMediaButtonEventReceiver_added(android.content.ComponentName)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.requestAudioFocus_added(android.media.AudioManager.OnAudioFocusChangeListener, int, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.startBluetoothSco_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.stopBluetoothSco_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.AudioManager.unregisterMediaButtonEventReceiver_added(android.content.ComponentName)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.CamcorderProfile"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.CameraProfile"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface.TAG_FOCAL_LENGTH"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface.TAG_GPS_DATESTAMP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface.TAG_GPS_PROCESSING_METHOD"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface.TAG_GPS_TIMESTAMP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ExifInterface.getAttributeDouble_added(java.lang.String, double)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder.setAudioChannels_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder.setAudioEncodingBitRate_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder.setAudioSamplingRate_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder.setProfile_added(android.media.CamcorderProfile)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaRecorder.setVideoEncodingBitRate_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaScannerConnection"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaScannerConnection.MediaScannerConnectionClient"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaScannerConnection.OnScanCompletedListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.MediaScannerConnection.scanFile_added(android.content.Context, java.lang.String[], java.lang.String[], android.media.MediaScannerConnection.OnScanCompletedListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.SoundPool"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.SoundPool.OnLoadCompleteListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.SoundPool.autoPause_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.SoundPool.autoResume_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.SoundPool.setOnLoadCompleteListener_added(android.media.SoundPool.OnLoadCompleteListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.media.ThumbnailUtils"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_DUN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_HIPRI"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_MMS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager.TYPE_MOBILE_SUPL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.ConnectivityManager.TYPE_WIMAX"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLCertificateSocketFactory"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLCertificateSocketFactory.ctor_changed(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLCertificateSocketFactory.getDefault_added(int, android.net.SSLSessionCache)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLCertificateSocketFactory.getHttpSocketFactory_added(int, android.net.SSLSessionCache)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLCertificateSocketFactory.getInsecure_added(int, android.net.SSLSessionCache)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.SSLSessionCache"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.TrafficStats"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.AndroidHttpClient"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.ctor_added(java.lang.String, java.lang.String, java.util.Date, java.util.Date)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.ctor_changed(java.lang.String, java.lang.String, java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.getValidNotAfterDate_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.getValidNotAfter_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.getValidNotBeforeDate_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslCertificate.getValidNotBefore_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.net.http.SslError"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.ETC1"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.ETC1Util"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.ETC1Util.ETC1Texture"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.GLES20"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.GLSurfaceView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.GLSurfaceView.setEGLContextClientVersion_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.Matrix"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.opengl.Matrix.setLookAtM_added(float[], int, float, float, float, float, float, float, float, float, float)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.BOOTLOADER"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.CPU_ABI2"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.HARDWARE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.RADIO"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.UNKNOWN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.VERSION_CODES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Build.VERSION_CODES.FROYO"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Bundle"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Bundle.getCharSequenceArrayList_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Bundle.getCharSequenceArray_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Bundle.putCharSequenceArrayList_added(java.lang.String, java.util.ArrayList&lt;java.lang.CharSequence&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Bundle.putCharSequenceArray_added(java.lang.String, java.lang.CharSequence[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug.dumpService_added(java.lang.String, java.io.FileDescriptor, java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug.getGlobalClassInitCount_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug.getGlobalClassInitTime_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug.resetGlobalClassInitCount_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Debug.resetGlobalClassInitTime_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.DropBoxManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.DropBoxManager.Entry"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_ALARMS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_DCIM"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_DOWNLOADS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_MOVIES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_MUSIC"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_NOTIFICATIONS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_PICTURES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_PODCASTS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.DIRECTORY_RINGTONES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.Environment.getExternalStoragePublicDirectory_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.PowerManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.PowerManager.reboot_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.RecoverySystem"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.os.RecoverySystem.ProgressListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Browser"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Browser.EXTRA_HEADERS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.CallLog.Calls"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.CallLog.Calls.getLastOutgoingCall_added(android.content.Context)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.AVAILABLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.AWAY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.DO_NOT_DISTURB"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.IDLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.INVISIBLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.OFFLINE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.PRESENCE_CUSTOM_STATUS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.PRESENCE_STATUS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Contacts.PresenceColumns.PRIORITY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.Groups"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.Groups.newEntityIterator_added(android.database.Cursor)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.RawContacts"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.RawContacts.newEntityIterator_added(android.database.Cursor)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.AVAILABLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.AWAY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.DO_NOT_DISTURB"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.IDLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.INVISIBLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.OFFLINE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.PRESENCE_CUSTOM_STATUS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.ContactsContract.StatusColumns.PRESENCE_STATUS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Audio.AudioColumns"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Audio.AudioColumns.BOOKMARK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Audio.AudioColumns.IS_PODCAST"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Audio.Playlists.Members"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Audio.Playlists.Members.moveItem_added(android.content.ContentResolver, long, int, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.EXTRA_DURATION_LIMIT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.EXTRA_FULL_SCREEN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.EXTRA_SHOW_ACTION_ICONS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.EXTRA_SIZE_LIMIT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.INTENT_ACTION_MUSIC_PLAYER"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Images.Thumbnails"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Images.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Images.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.UNKNOWN_STRING"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Video.Thumbnails"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Video.Thumbnails.cancelThumbnailRequest_added(android.content.ContentResolver, long, long)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.MediaStore.Video.Thumbnails.getThumbnail_added(android.content.ContentResolver, long, long, int, android.graphics.BitmapFactory.Options)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.ACTION_ADD_ACCOUNT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.ACTION_DEVICE_INFO_SETTINGS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.ACTION_SEARCH_SETTINGS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.EXTRA_AUTHORITIES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_ENABLED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.LOCK_PATTERN_VISIBLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.TTS_ENABLED_PLUGINS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.isLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.Secure.setLocationProviderEnabled_added(android.content.ContentResolver, java.lang.String, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.LOCK_PATTERN_ENABLED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.LOCK_PATTERN_VISIBLE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.provider.Settings.System.VOLUME_BLUETOOTH_SCO"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognitionListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognitionService"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognitionService.Callback"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.DETAILS_META_DATA"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_CALLING_PACKAGE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_PARTIAL_RESULTS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_SPEECH_INPUT_POSSIBLY_COMPLETE_SILENCE_LENGTH_MILLIS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.RecognizerIntent.getVoiceDetailsIntent_added(android.content.Context)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.SpeechRecognizer"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.Engine"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_AVAILABLE_VOICES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_CHECK_VOICE_DATA_FOR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.areDefaultsEnforced_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.getDefaultEngine_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.speech.tts.TextToSpeech.setEngineByPackageName_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.telephony"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.telephony.TelephonyManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.telephony.TelephonyManager.NETWORK_TYPE_IDEN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.ActivityInstrumentationTestCase2"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.ActivityInstrumentationTestCase2.ctor_added(java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.ActivityInstrumentationTestCase2.ctor_changed(java.lang.String, java.lang.Class&lt;T&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockContentProvider"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockContext"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockContext.getExternalCacheDir_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockContext.getExternalFilesDir_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockCursor"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockPackageManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockPackageManager.addPermissionAsync_added(android.content.pm.PermissionInfo)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockPackageManager.canonicalToCurrentPackageNames_added(java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.test.mock.MockPackageManager.currentToCanonicalPackageNames_added(java.lang.String[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_AMBIGUOUS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_FULL_WIDTH"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_HALF_WIDTH"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NARROW"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_NEUTRAL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.EAST_ASIAN_WIDTH_WIDE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.getEastAsianWidth_added(char)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.AndroidCharacter.getEastAsianWidths_added(char[], int, int, byte[])"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.style"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.style.LeadingMarginSpan.LeadingMarginSpan2"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.util"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.util.Rfc822Tokenizer"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.text.util.Rfc822Tokenizer.tokenize_added(java.lang.CharSequence, java.util.Collection&lt;android.text.util.Rfc822Token&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Base64"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Base64InputStream"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Base64OutputStream"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.EventLog"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.EventLog.Event"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.EventLogTags"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Log"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.String, java.lang.Throwable)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Log.wtf_added(java.lang.String, java.lang.Throwable)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.util.Patterns"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.Display"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.Display.getOrientation_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.Display.getRotation_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.GestureDetector"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.GestureDetector.ctor_added(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.HapticFeedbackConstants"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.HapticFeedbackConstants.KEYBOARD_TAP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_1_DOWN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_1_UP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_2_DOWN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_2_UP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_3_DOWN"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_3_UP"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_ID_MASK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_ID_SHIFT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_INDEX_MASK"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.ACTION_POINTER_INDEX_SHIFT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.getActionIndex_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.MotionEvent.getActionMasked_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ScaleGestureDetector"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ScaleGestureDetector.OnScaleGestureListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ScaleGestureDetector.SimpleOnScaleGestureListener"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.VelocityTracker"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.VelocityTracker.getXVelocity_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.VelocityTracker.getYVelocity_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.dispatchConfigurationChanged_added(android.content.res.Configuration)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.dispatchDisplayHint_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.dispatchVisibilityChanged_added(android.view.View, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.onConfigurationChanged_added(android.content.res.Configuration)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.onDisplayHint_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.View.onVisibilityChanged_added(android.view.View, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ViewConfiguration"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ViewConfiguration.getScaledPagingTouchSlop_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ViewGroup.LayoutParams"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ViewGroup.LayoutParams.FILL_PARENT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.ViewGroup.LayoutParams.MATCH_PARENT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_FULL"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.WindowManager.LayoutParams.buttonBrightness"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.animation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.animation.Animation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.view.animation.Animation.cancel_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.CacheManager"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.CacheManager.endCacheTransaction_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.CacheManager.startCacheTransaction_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.ConsoleMessage"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.ConsoleMessage.MessageLevel"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.JsResult"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.JsResult.mProxy"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebChromeClient"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_added(android.webkit.ConsoleMessage)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_added(java.lang.String, int, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebChromeClient.onConsoleMessage_removed(java.lang.String, int, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.PluginState"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.getBlockNetworkLoads_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.getPluginState_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.getPluginsEnabled_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.setBlockNetworkLoads_added(boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.setPluginState_added(android.webkit.WebSettings.PluginState)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebSettings.setPluginsEnabled_changed(boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebView.emulateShiftHeld_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebView.loadUrl_added(java.lang.String, java.util.Map&lt;java.lang.String, java.lang.String&gt;)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebView.onChildViewAdded_changed(android.view.View, android.view.View)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebView.onChildViewRemoved_changed(android.view.View, android.view.View)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebViewClient"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebViewClient.onReceivedSslError_added(android.webkit.WebView, android.webkit.SslErrorHandler, android.net.http.SslError)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.webkit.WebViewClient.onTooManyRedirects_changed(android.webkit.WebView, android.os.Message, android.os.Message)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.AbsListView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.AbsListView.smoothScrollBy_added(int, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.AbsListView.smoothScrollToPosition_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.AbsListView.smoothScrollToPosition_added(int, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.BaseExpandableListAdapter"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.BaseExpandableListAdapter.getChildTypeCount_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.BaseExpandableListAdapter.getChildType_added(int, int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.BaseExpandableListAdapter.getGroupTypeCount_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.BaseExpandableListAdapter.getGroupType_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.HeterogeneousExpandableList"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.ImageView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.ImageView.setColorFilter_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.ListView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.ListView.getCheckItemIds_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.ListView.getCheckedItemIds_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.RemoteViews"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.RemoteViews.setBundle_added(int, java.lang.String, android.os.Bundle)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.isStripEnabled_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.setLeftStripDrawable_added(android.graphics.drawable.Drawable)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.setLeftStripDrawable_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.setRightStripDrawable_added(android.graphics.drawable.Drawable)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.setRightStripDrawable_added(int)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.TabWidget.setStripEnabled_added(boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.VideoView"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.VideoView.resume_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="android.widget.VideoView.suspend_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_BREAKPOINT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_EXECUTE_INLINE_RANGE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_THROW_VERIFICATION_ERROR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_3e"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_3f"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_40"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_41"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_42"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_43"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_73"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_79"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_7A"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E3"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E4"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E5"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E6"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E7"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E8"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_E9"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EA"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EB"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EC"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_ED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_EF"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_F1"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FC"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FD"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.bytecode.Opcodes.OP_UNUSED_FF"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.DEFAULT_METHOD_TRACE_FILE_NAME"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_COUNT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.KIND_GLOBAL_CLASS_INIT_TIME"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_COUNT"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.KIND_THREAD_CLASS_INIT_TIME"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.VMDebug.startMethodTracing_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.Zygote"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="dalvik.system.Zygote.DEBUG_ENABLE_SAFEMODE"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.net"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.net.DatagramSocketImpl"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.net.DatagramSocketImpl.getOption_removed(int)"/>
  <text>
    This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.
  </text>
</comment>
<comment>
  <identifier id="java.net.DatagramSocketImpl.setOption_removed(int, java.lang.Object)"/>
  <text>
    This method stub was removed from the DatagramSocketImpl abstract class, but subclasses still inherit the method from the <a href="../../../../reference/java/net/SocketOptions.html">SocketOptions</a> superclass.
  </text>
</comment>
<comment>
  <identifier id="java.nio.charset"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.nio.charset.Charset"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.nio.charset.Charset.forName_changed(java.lang.String)"/>
  <text>
    The unchecked exceptions <code>java.nio.charset.IllegalCharsetNameException</code> and <code>java.nio.charset.UnsupportedCharsetExceptionare</code> are still thrown by this method but the exceptions were removed from the formal API specification.
  </text>
</comment>
<comment>
  <identifier id="java.nio.charset.Charset.isSupported_changed(java.lang.String)"/>
  <text>
    The unchecked exception <code>java.nio.charset.IllegalCharsetNameException</code> is still thrown by this method but the exception was removed from the formal API specification.
  </text>
</comment>
<comment>
  <identifier id="java.util"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.util.ArrayList"/>
  <text>
    <a href="../../../../reference/java/util/ArrayList.html">ArrayList</a> now implements <a href="../../../../reference/java/util/List.html">List</a> indirectly, via <a href="../../../../reference/java/util/AbstractList.html">AbstractList</a>.
  </text>
</comment>
<comment>
  <identifier id="java.util.HashMap"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.util.regex"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.util.regex.Matcher"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.util.regex.Matcher.appendReplacement_changed(java.lang.StringBuffer, java.lang.String)"/>
  <text>
    The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.
  </text>
</comment>
<comment>
  <identifier id="java.util.regex.Matcher.start_changed()"/>
  <text>
    The unchecked exception <code>java.lang.IllegalStateException</code> is still thrown by this method but the exception was removed from the formal API specification.
  </text>
</comment>
<comment>
  <identifier id="java.util.regex.Pattern"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="java.util.regex.Pattern.compile_changed(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.XMLConstants"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.XMLConstants.ctor_removed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.datatype"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.namespace"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilder"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilder.getSchema_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilder.isXIncludeAware_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilderFactory"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilderFactory.getSchema_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilderFactory.newInstance_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.DocumentBuilderFactory.setSchema_added(javax.xml.validation.Schema)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParser"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParser.getSchema_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParser.isXIncludeAware_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParserFactory"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParserFactory.getSchema_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParserFactory.newInstance_changed()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.parsers.SAXParserFactory.setSchema_added(javax.xml.validation.Schema)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.transform"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.transform.dom"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.transform.sax"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.transform.stream"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.validation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="javax.xml.xpath"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Attr"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Attr.getSchemaTypeInfo_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Attr.isId_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMConfiguration"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMError"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMErrorHandler"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMException"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMException.TYPE_MISMATCH_ERR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMException.VALIDATION_ERR"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMImplementation"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMImplementation.getFeature_added(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMImplementationList"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMImplementationSource"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMLocator"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.DOMStringList"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.adoptNode_added(org.w3c.dom.Node)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getDocumentURI_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getDomConfig_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getInputEncoding_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getStrictErrorChecking_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getXmlEncoding_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getXmlStandalone_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.getXmlVersion_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.normalizeDocument_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.renameNode_added(org.w3c.dom.Node, java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.setDocumentURI_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.setStrictErrorChecking_added(boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.setXmlStandalone_added(boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Document.setXmlVersion_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.getAttributeNS_changed(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.getAttributeNodeNS_changed(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.getElementsByTagNameNS_changed(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.getSchemaTypeInfo_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.hasAttributeNS_changed(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.setIdAttributeNS_added(java.lang.String, java.lang.String, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.setIdAttributeNode_added(org.w3c.dom.Attr, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Element.setIdAttribute_added(java.lang.String, boolean)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Entity"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Entity.getInputEncoding_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Entity.getXmlEncoding_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Entity.getXmlVersion_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.NameList"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.NamedNodeMap"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.NamedNodeMap.getNamedItemNS_changed(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINED_BY"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_CONTAINS"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_DISCONNECTED"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_FOLLOWING"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.DOCUMENT_POSITION_PRECEDING"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.compareDocumentPosition_added(org.w3c.dom.Node)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.getBaseURI_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.getFeature_added(java.lang.String, java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.getTextContent_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.getUserData_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.isDefaultNamespace_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.isEqualNode_added(org.w3c.dom.Node)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.isSameNode_added(org.w3c.dom.Node)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.lookupNamespaceURI_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.lookupPrefix_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.setTextContent_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Node.setUserData_added(java.lang.String, java.lang.Object, org.w3c.dom.UserDataHandler)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Text"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Text.getWholeText_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Text.isElementContentWhitespace_added()"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.Text.replaceWholeText_added(java.lang.String)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.TypeInfo"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.UserDataHandler"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<comment>
  <identifier id="org.w3c.dom.ls"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
<!-- This comment is no longer used 
<comment>
  <identifier id="android.media.AudioManager.registerAudioFocusListener_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
-->
<!-- This comment is no longer used 
<comment>
  <identifier id="android.media.AudioManager.unregisterAudioFocusListener_added(android.media.AudioManager.OnAudioFocusChangeListener)"/>
  <text>
    InsertCommentsHere
  </text>
</comment>
-->

</comments>
