Kaydet (Commit) bdd8a68c authored tarafından Tomaž Vajngerl's avatar Tomaž Vajngerl Kaydeden (comit) Miklos Vajna

android: make & build appcompat-v7 library, up target to v21

Previously we included the android support library v4 for some
GUI elements like GridView. This commit in addition adds the v7
appcompat library which is needed for the new Lollipop style
Toolbar and many other new GUI elements.

The appcompat v7 library is not distributed as only a jar file
but needs to be build (as it includes additional resources) and
included as a library project. So to do this the content is copied
from SDK and build with the build system. The files also include
the v4 so it doesn't need to be copied from SDK anymore.

The target had to be raised to v21 (Lollipop), however the minimum
SDK version remains unchanged.

Change-Id: I4f1a6ce69e7f6c3f9df784a6835f376a01d4dfdb
üst 80c90f51
......@@ -5,3 +5,4 @@ libs
obj
local.properties
native-code.cxx
AppCompat-v7
......@@ -18,6 +18,8 @@ APP_DATA_PATH=/data/data/$(APP_PACKAGE)
SODEST=libs/$(ANDROID_APP_ABI)
OBJLOCAL=obj/local/$(ANDROID_APP_ABI)
APPCOMPATDIR=$(BOOTSTRAPDIR)/../AppCompat-v7
define COPYSO
$(error COPYSO should not be used now with DISABLE_DYNLOADING)
endef
......@@ -50,6 +52,11 @@ $(BOOTSTRAPDIR)/no-resource-compress.xml : $(ANDROID_SDK_HOME)/tools/ant/build.x
android_version_setup : $(BOOTSTRAPDIR)/no-resource-compress.xml
prepare-appcompat:
mkdir $(APPCOMPATDIR) 2>/dev/null; true
cp -rf $(ANDROID_SDK_HOME)/extras/android/support/v7/appcompat/* $(APPCOMPATDIR)
$(ANDROID_SDK_HOME)/tools/android update lib-project --target android-21 --path $(APPCOMPATDIR)
properties:
echo sdk.dir=$(ANDROID_SDK_HOME) >local.properties
echo sdk.dir=$(ANDROID_SDK_HOME) >../../Bootstrap/local.properties
......@@ -70,6 +77,7 @@ clean: android_version_setup properties
$(ANT) $(if $(VERBOSE)$(verbose),,-quiet) -keep-going clean
rm -rf assets libs $(SODEST) $(OBJLOCAL) $(BOOTSTRAPDIR)/no-resource-compress.xml
rm -f native-code.cxx
rm -rf $(APPCOMPATDIR)
#
# Build / link the single .so for this app
......
......@@ -7,7 +7,7 @@
<!-- App requires OpenGL ES 2.0 -->
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="17"/>
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="21"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<application
......@@ -16,14 +16,14 @@
android:icon="@drawable/main"
android:label="@string/app_name"
android:hardwareAccelerated="true"
android:theme="@style/AppTheme"
android:largeHeap="false">
<!-- Viewer Activity -->
<activity
android:name=".LibreOfficeMainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize">
android:configChanges="orientation|keyboard|keyboardHidden|screenLayout|uiMode|screenSize|smallestScreenSize"
android:theme="@style/LibreOfficeTheme">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<action android:name="android.intent.action.EDIT" />
......@@ -91,7 +91,8 @@
<!-- Document Browser Activity -->
<activity android:name=".ui.LibreOfficeUIActivity"
android:label="@string/app_name">
android:label="@string/app_name"
android:theme="@style/BrowserTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
......
......@@ -17,12 +17,10 @@ include $(BOOTSTRAPDIR)/Makefile.shared
native-code.cxx: $(SRCDIR)/solenv/bin/native-code.py
$< -j -g core -g writer -g calc -g draw -g edit > $@
build-ant: android_version_setup copy-stuff link-so properties
build-ant: android_version_setup copy-stuff prepare-appcompat link-so properties
#
# Copy jar files we need
#
cp $(ANDROID_SDK_HOME)/extras/android/support/v4/android-support-v4.jar libs
for F in java_uno \
juh \
jurt \
......
......@@ -8,7 +8,8 @@
# project structure.
# Project target.
target=android-15
target=android-21
# Use the Bootstrap class
android.library.reference.1=../../Bootstrap
android.library.reference.2=../../AppCompat-v7
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LibreOfficeTheme" parent="LibreOfficeTheme.Base">
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
</resources>
\ No newline at end of file
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="LibreOfficeTheme" parent="LibreOfficeTheme"/>
<style name="LibreOfficeTheme.Base" parent="Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
<style name="BrowserTheme" parent="android:Theme.Holo.Light.DarkActionBar">
</style>
</resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment