Merge pull request #1470 from kiwix/feature/macgills/#1469-ajax

#1469 allow AJAX & CORS
This commit is contained in:
Seán Mac Gillicuddy 2019-09-13 15:40:32 +01:00 committed by GitHub
commit 3e435b963e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 45 additions and 41 deletions

View File

@ -23,6 +23,7 @@ import android.content.Context;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Paint;
import android.net.Uri;
import android.os.Build;
import android.os.Environment;
import android.os.Handler;
import android.os.Message;
@ -31,6 +32,7 @@ import android.util.Log;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Toast;
import java.io.File;
@ -64,10 +66,14 @@ public class KiwixWebView extends WebView {
this.callback = callback;
KiwixApplication.getApplicationComponent().inject(this);
// Set the user agent to the current locale so it can be read with navigator.userAgent
getSettings().setUserAgentString(LanguageUtils.getCurrentLocale(context).toString());
final WebSettings settings = getSettings();
settings.setUserAgentString(LanguageUtils.getCurrentLocale(context).toString());
settings.setDomStorageEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
settings.setAllowUniversalAccessFromFileURLs(true);
}
setWebViewClient(new KiwixWebViewClient(callback));
setWebChromeClient(new KiwixWebChromeClient(callback));
getSettings().setDomStorageEnabled(true);
}
public void loadPrefs() {

View File

@ -1,40 +1,38 @@
#!/bin/bash
function usage {
echo "Usage: $0 kiwix-android.keystore [PACKAGE] [APP_VERSION]"
echo "You must specify the path of the certificate keystore."
exit 1
echo "Usage: $0 kiwix-android.keystore [PACKAGE] [APP_VERSION]"
echo "You must specify the path of the certificate keystore."
exit 1
}
if [ -f "$1" ];
then
CERTIFICATE=$1
then
CERTIFICATE=$1
else
usage
usage
fi
function die {
echo -n "[ERROR] "
echo -n $1
echo -n " Aborting.
"
exit 1
echo -n "[ERROR] "
echo -n $1
echo -n " Aborting."
exit 1
}
# default values are guessed from repo (AndroidManifest and res/values/branding)
APP_NAME=`python -c "from xml.dom.minidom import parse; d=parse('res/values/branding.xml'); print([e.childNodes[0].data.strip() for e in d.getElementsByTagName('string') if e.getAttribute('name') == 'app_name'][-1])"`
TARGET_VERSION=`grep "compileSdkVersion" build.gradle | awk '{print $2}'`
BUILD_VERSION=`grep "buildToolsVersion" build.gradle | awk '{print $2}' | sed 's/"//g'`
APP_NAME=$(python -c "from xml.dom.minidom import parse; d=parse('res/values/branding.xml'); print([e.childNodes[0].data.strip() for e in d.getElementsByTagName('string') if e.getAttribute('name') == 'app_name'][-1])")
TARGET_VERSION=$(grep "compileSdkVersion" build.gradle | awk '{print $2}')
BUILD_VERSION=$(grep "buildToolsVersion" build.gradle | awk '{print $2}' | sed 's/"//g')
if [ "x$2" != "x" ];
then
PACKAGE=$2
then
PACKAGE=$2
fi
if [ "x$3" != "x" ];
then
APP_VERSION=$3
then
APP_VERSION=$3
fi
../src/dependencies/android-sdk/tools/android update project -p . -n kiwix -t android-${TARGET_VERSION}

View File

@ -0,0 +1,19 @@
#!/bin/bash
# default value is guessed from repo (AndroidManifest)
PACKAGE=$(python -c "from xml.dom.minidom import parse; d=parse('../app/src/main/AndroidManifest.xml'); print([e.getAttribute('package').strip() for e in d.getElementsByTagName('manifest')][-1])")
if [ "x$1" != "x" ];
then
PACKAGE=$1
fi
if [ -f ../app/build/outputs/apk/${PACKAGE}-debug.apk ]
then
echo "Uninstalling old Kiwix APK..."
${ANDROID_HOME}/platform-tools/adb uninstall ${PACKAGE} ;
echo "Installing new Kiwix APK..."
${ANDROID_HOME}/platform-tools/adb install ../build/outputs/apk/${PACKAGE}-debug.apk
else
echo "No APK file available for package ${PACKAGE} !"
fi

View File

@ -2,7 +2,7 @@
if hash adb 2>/dev/null
then
ADB=`which adb`
ADB=$(which adb)
TMP=/data/local/tmp/
FILE=${1:-screenshot.png}
PATH=$TMP$FILE

View File

@ -1,19 +0,0 @@
#!/bin/bash
# default value is guessed from repo (AndroidManifest)
PACKAGE=`python -c "from xml.dom.minidom import parse; d=parse('app/src/main/AndroidManifest.xml'); print([e.getAttribute('package').strip() for e in d.getElementsByTagName('manifest')][-1])"`
if [ "x$1" != "x" ];
then
PACKAGE=$1
fi
if [ -f app/build/outputs/apk/${PACKAGE}-debug.apk ]
then
echo "Uninstalling old Kiwix APK..."
${ANDROID_HOME}/platform-tools/adb uninstall ${PACKAGE} ;
echo "Installing new Kiwix APK..."
${ANDROID_HOME}/platform-tools/adb install build/outputs/apk/${PACKAGE}-debug.apk
else
echo "No APK file available for package ${PACKAGE} !"
fi