Adding app specific screen for "External Sources"

Adding app specific screen so that third party apps and package
installer can directly intent there to direct users to change the
setting. Also added automater tests.

Test: adb shell am instrument -w -e class \
'com.android.settings.applications.ExternalSourcesSettingsTest' \
'com.android.settings.tests/android.support.test.runner.AndroidJUnitRunner'

Bug: 33792674
Bug: 35487166

Change-Id: I5a481ee7032979df94a9e267ea74aa90da6a0906
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index b000c14..82632f8 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -2885,6 +2885,19 @@
                 android:value="com.android.settings.applications.ManageApplications" />
         </activity>
 
+
+        <activity android:name="Settings$AppWriteSettingsActivity"
+                  android:label="@string/write_settings_title"
+                  android:taskAffinity="">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.WriteSettingsDetails" />
+        </activity>
+
         <activity android:name="Settings$ManageExternalSourcesActivity"
                 android:label="@string/install_other_apps"
                 android:taskAffinity="">
@@ -2896,16 +2909,16 @@
                 android:value="com.android.settings.applications.ManageApplications" />
         </activity>
 
-        <activity android:name="Settings$AppWriteSettingsActivity"
-                android:label="@string/write_settings_title"
-                android:taskAffinity="">
+        <activity android:name="Settings$ManageAppExternalSourcesActivity"
+                  android:label="@string/install_other_apps"
+                  android:taskAffinity="">
             <intent-filter android:priority="1">
-                <action android:name="android.settings.action.MANAGE_WRITE_SETTINGS" />
+                <action android:name="android.settings.action.MANAGE_EXTERNAL_SOURCES" />
                 <category android:name="android.intent.category.DEFAULT" />
                 <data android:scheme="package" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.applications.WriteSettingsDetails" />
+                       android:value="com.android.settings.applications.ExternalSourcesDetails" />
         </activity>
 
         <activity android:name="ShowAdminSupportDetailsDialog"