Fix the tethering help page.

It worked with language+country resources but for some resources it's just language.
Added a check to see if we had lanugage+country before deciding which to use.

bug:2605981
Change-Id: Icb667a51f0c376f5188e3a43f264e236cd265468
diff --git a/src/com/android/settings/TetherSettings.java b/src/com/android/settings/TetherSettings.java
index 79b081f..56305d5 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -26,6 +26,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.res.AssetManager;
 import android.net.ConnectivityManager;
 import android.os.Environment;
 import android.preference.CheckBoxPreference;
@@ -36,6 +37,7 @@
 import android.util.Log;
 import android.webkit.WebView;
 
+import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.Locale;
 
@@ -49,7 +51,8 @@
     private static final String TETHERING_HELP = "tethering_help";
     private static final String USB_HELP_MODIFIER = "usb_";
     private static final String WIFI_HELP_MODIFIER = "wifi_";
-    private static final String HELP_URL = "file:///android_asset/html/%y_%z/tethering_%xhelp.html";
+    private static final String HELP_URL = "file:///android_asset/html/%y%z/tethering_%xhelp.html";
+    private static final String HELP_PATH = "html/%y%z/tethering_help.html";
 
     private static final int DIALOG_TETHER_HELP = 1;
 
@@ -100,9 +103,26 @@
     protected Dialog onCreateDialog(int id) {
         if (id == DIALOG_TETHER_HELP) {
             Locale locale = Locale.getDefault();
-            String url = HELP_URL.replace("%y", locale.getLanguage().toLowerCase());
-            url = url.replace("%z", locale.getCountry().toLowerCase());
 
+            // check for the full language + country resource, if not there, try just language
+            AssetManager am = getAssets();
+            String path = HELP_PATH.replace("%y", locale.getLanguage().toLowerCase());
+            path = path.replace("%z", "_"+locale.getCountry().toLowerCase());
+            boolean useCountry = true;
+            InputStream is = null;
+            try {
+                is = am.open(path);
+            } catch (Exception e) {
+                useCountry = false;
+            } finally {
+                if (is != null) {
+                    try {
+                        is.close();
+                    } catch (Exception e) {}
+                }
+            }
+            String url = HELP_URL.replace("%y", locale.getLanguage().toLowerCase());
+            url = url.replace("%z", (useCountry ? "_"+locale.getCountry().toLowerCase() : ""));
             if ((mUsbRegexs.length != 0) && (mWifiRegexs.length == 0)) {
                 url = url.replace("%x", USB_HELP_MODIFIER);
             } else if ((mWifiRegexs.length != 0) && (mUsbRegexs.length == 0)) {
@@ -112,6 +132,7 @@
                 // is to use this anyway so no check is needed
                 url = url.replace("%x", "");
             }
+
             mView.loadUrl(url);
 
             return new AlertDialog.Builder(this)