Merge branch 'dev-app-structure' into dev
Conflicts: android-app-core/src/main/java/org/solovyev/android/calculator/CalculatorButtons.java android-app/AndroidManifest.xml android-app/src/main/java/org/solovyev/android/calculator/about/CalculatorFragmentType.java
168
android-app/AndroidManifest.xml
Normal file
@@ -0,0 +1,168 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto" android:versionCode="112" android:versionName="1.5.3-SNAPSHOT" package="org.solovyev.android.calculator">
|
||||
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
||||
<uses-permission android:name="com.android.vending.BILLING"/>
|
||||
|
||||
<!--TODO: REMOVE IN PRODUCTION-->
|
||||
<!--<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>-->
|
||||
|
||||
<!-- for onscreen -->
|
||||
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
|
||||
<supports-screens android:smallScreens="true"/>
|
||||
<supports-screens android:normalScreens="true"/>
|
||||
<supports-screens android:largeScreens="true"/>
|
||||
<supports-screens android:xlargeScreens="true"/>
|
||||
<supports-screens android:anyDensity="true"/>
|
||||
|
||||
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="8"/>
|
||||
|
||||
<application android:debuggable="true" android:hardwareAccelerated="false" android:icon="@drawable/icon" android:label="@string/c_app_name" android:name=".CalculatorApplication" android:theme="@style/cpp_metro_blue_theme">
|
||||
|
||||
<activity android:clearTaskOnLaunch="true" android:label="@string/c_app_name" android:name=".CalculatorActivity" android:windowSoftInputMode="adjustPan">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
|
||||
<activity android:clearTaskOnLaunch="true" android:label="@string/c_app_name" android:name=".CalculatorActivityMobile" android:windowSoftInputMode="adjustPan"/>
|
||||
|
||||
<!-- settings must use action bar icon-->
|
||||
<activity android:icon="@drawable/ab_icon" android:label="@string/c_app_settings" android:name=".CalculatorPreferencesActivity"/>
|
||||
|
||||
<activity android:label="@string/c_history" android:name=".history.CalculatorHistoryActivity"/>
|
||||
|
||||
<activity android:excludeFromRecents="true" android:finishOnTaskLaunch="true" android:label="@string/calculation_messages_dialog_title" android:launchMode="singleTask" android:name=".CalculatorMessagesDialog" android:theme="@style/Theme.Sherlock.Dialog"/>
|
||||
|
||||
<activity android:label="@string/c_about" android:name=".about.CalculatorAboutActivity"/>
|
||||
|
||||
<activity android:label="@string/c_help" android:name=".help.CalculatorHelpActivity"/>
|
||||
|
||||
<activity android:label="@string/c_functions" android:name=".math.edit.CalculatorFunctionsActivity"/>
|
||||
|
||||
<activity android:label="@string/c_operators" android:name=".math.edit.CalculatorOperatorsActivity"/>
|
||||
|
||||
<activity android:label="@string/c_vars_and_constants" android:name=".math.edit.CalculatorVarsActivity"/>
|
||||
|
||||
<activity android:label="@string/c_plot_graph" android:name=".plot.CalculatorPlotActivity"/>
|
||||
|
||||
<!-- todo serso: strings-->
|
||||
<activity android:label="@string/c_plot_graph" android:name=".matrix.CalculatorMatrixActivity"/>
|
||||
|
||||
<activity android:name=".widget.CalculatorWidgetConfigurationActivity" android:theme="@style/cpp_metro_blue_theme">
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
|
||||
<!-- settings must use action bar icon-->
|
||||
<activity android:icon="@drawable/ab_icon" android:label="@string/c_settings" android:name=".plot.CalculatorPlotPreferenceActivity"/>
|
||||
|
||||
<!-- ONSCREEN CONFIG -->
|
||||
|
||||
<activity android:icon="@drawable/icon_onscreen" android:label="@string/c_app_name_on_screen" android:launchMode="singleInstance" android:name=".onscreen.CalculatorOnscreenStartActivity">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
|
||||
</activity>
|
||||
|
||||
<service android:name=".onscreen.CalculatorOnscreenService">
|
||||
<intent-filter>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
</intent-filter>
|
||||
</service>
|
||||
|
||||
<receiver android:name=".onscreen.CalculatorOnscreenBroadcastReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- WIDGET CONFIG -->
|
||||
|
||||
<receiver android:icon="@drawable/icon" android:label="@string/c_app_widget_3x3_name" android:name=".widget.CalculatorWidgetProvider">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.widget.BUTTON_PRESSED"/>
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/calculator_widget_info_3x3"/>
|
||||
</receiver>
|
||||
|
||||
<receiver android:icon="@drawable/icon" android:label="@string/c_app_widget_3x4_name" android:name=".widget.CalculatorWidgetProvider3x4">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.widget.BUTTON_PRESSED"/>
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/calculator_widget_info_3x4"/>
|
||||
</receiver>
|
||||
|
||||
<receiver android:icon="@drawable/icon" android:label="@string/c_app_widget_4x4_name" android:name=".widget.CalculatorWidgetProvider4x4">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.widget.BUTTON_PRESSED"/>
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/calculator_widget_info_4x4"/>
|
||||
</receiver>
|
||||
|
||||
<receiver android:icon="@drawable/icon" android:label="@string/c_app_widget_4x5_name" android:name=".widget.CalculatorWidgetProvider4x5">
|
||||
|
||||
<intent-filter>
|
||||
<action android:name="android.appwidget.action.APPWIDGET_UPDATE"/>
|
||||
<action android:name="org.solovyev.android.calculator.INIT"/>
|
||||
<action android:name="org.solovyev.android.calculator.EDITOR_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.DISPLAY_STATE_CHANGED"/>
|
||||
<action android:name="org.solovyev.android.calculator.widget.BUTTON_PRESSED"/>
|
||||
</intent-filter>
|
||||
|
||||
<meta-data android:name="android.appwidget.provider" android:resource="@xml/calculator_widget_info_4x5"/>
|
||||
</receiver>
|
||||
|
||||
<!-- ADMOB + BILLING CONFIG -->
|
||||
|
||||
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:name="com.google.ads.AdActivity"/>
|
||||
|
||||
<service android:name="net.robotmedia.billing.BillingService"/>
|
||||
<receiver android:name="net.robotmedia.billing.BillingReceiver">
|
||||
<intent-filter>
|
||||
<action android:name="com.android.vending.billing.IN_APP_NOTIFY"/>
|
||||
<action android:name="com.android.vending.billing.RESPONSE_CODE"/>
|
||||
<action android:name="com.android.vending.billing.PURCHASE_STATE_CHANGED"/>
|
||||
</intent-filter>
|
||||
</receiver>
|
||||
|
||||
<!-- ACRA CONFIG -->
|
||||
|
||||
<activity android:excludeFromRecents="true" android:finishOnTaskLaunch="true" android:launchMode="singleInstance" android:name="org.acra.CrashReportDialog" android:theme="@style/Theme.Sherlock.Dialog"/>
|
||||
|
||||
</application>
|
||||
</manifest>
|
BIN
android-app/misc/doc/GoogleAdMobAdsSdk-4.3.1-javadocs.zip
Normal file
BIN
android-app/misc/doc/achartengine-0.7.0-javadocs.zip
Normal file
BIN
android-app/misc/lib/GoogleAdMobAdsSdk-4.3.1.jar
Normal file
BIN
android-app/misc/lib/achartengine-0.7.0.jar
Normal file
BIN
android-app/misc/lib/achartengine-0.7.1.jar
Normal file
69
android-app/misc/other/prepare_avds.sh
Normal file
@@ -0,0 +1,69 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
declare -a densities=("160" "213" "240" "320")
|
||||
declare -a resolutions=("480x640" "480x800" "480x854" "640x960" "1024x600" "1024x768" "1280x768")
|
||||
declare -a targets=("android-16")
|
||||
|
||||
for target in ${targets[@]}
|
||||
do
|
||||
for density in ${densities[@]}
|
||||
do
|
||||
|
||||
for resolution in ${resolutions[@]}
|
||||
do
|
||||
name="AVD"
|
||||
name="$name$density"
|
||||
name="$name$resolution"
|
||||
name="$name$target"
|
||||
|
||||
echo "Creating AVD $name"
|
||||
echo "Density: $density"
|
||||
echo "Resolution: $resolution"
|
||||
echo "Target: $target"
|
||||
|
||||
$ANDROID_HOME/tools/android -s create avd -n $name -t $target -b x86 --force -s $resolution
|
||||
|
||||
if grep -R "hw.lcd.density" $HOME/.android/avd/$name.avd/config.ini
|
||||
then
|
||||
# replace density in config.ini
|
||||
sed -i "s/hw.lcd.density=240/hw.lcd.density=$density/g" $HOME/.android/avd/$name.avd/config.ini
|
||||
else
|
||||
# code if not found
|
||||
echo "hw.lcd.density=$density" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
fi
|
||||
|
||||
echo "sdcard.size=64M" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
echo "vm.heapSize=48" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
echo "hw.ramSize=256" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
|
||||
#arr=(${resolution//x/ })
|
||||
|
||||
#echo "hw.lcd.width = ${arr[0]}" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
#echo "hw.lcd.height = ${arr[1]}" >> $HOME/.android/avd/$name.avd/config.ini
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
for target in ${targets[@]}
|
||||
do
|
||||
for density in ${densities[@]}
|
||||
do
|
||||
|
||||
for resolution in ${resolutions[@]}
|
||||
do
|
||||
name="AVD"
|
||||
name="$name$density"
|
||||
name="$name$resolution"
|
||||
name="$name$target"
|
||||
|
||||
$ANDROID_HOME/tools/emulator -avd $name &
|
||||
$ANDROID_HOME/tools/monkeyrunner ./wait_device.py
|
||||
$ANDROID_HOME/platform-tools/adb -s emulator-5580 emu kill
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
|
24
android-app/misc/other/remove_avds.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
declare -a densities=("160" "213" "240" "320")
|
||||
declare -a resolutions=("320x480" "480x640" "480x800" "480x854" "640x960" "1024x600" "1024x768" "1280x768" "1536x1152" "1920x1200")
|
||||
declare -a targets=("android-16")
|
||||
|
||||
for target in ${targets[@]}
|
||||
do
|
||||
for density in ${densities[@]}
|
||||
do
|
||||
|
||||
for resolution in ${resolutions[@]}
|
||||
do
|
||||
name="AVD"
|
||||
name="$name$density"
|
||||
name="$name$resolution"
|
||||
name="$name$target"
|
||||
|
||||
$ANDROID_HOME/tools/android -s delete avd -n $name
|
||||
|
||||
done
|
||||
done
|
||||
done
|
77
android-app/misc/other/take_screenshots.py
Normal file
@@ -0,0 +1,77 @@
|
||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
||||
import time
|
||||
|
||||
import sys
|
||||
|
||||
outFolder = sys.argv[1]
|
||||
outFilename = sys.argv[2]
|
||||
|
||||
print ''
|
||||
print 'Screenshot will be located in ' + outFolder + ' with name ' + outFilename;
|
||||
|
||||
apk = '/home/serso/projects/java/android/calculatorpp/calculatorpp/misc/other/tmp/2012.11.25/calculatorpp.apk'
|
||||
package = 'org.solovyev.android.calculator'
|
||||
activity = 'org.solovyev.android.calculator.CalculatorActivity'
|
||||
mobileActivity = 'org.solovyev.android.calculator.CalculatorActivityMobile'
|
||||
operatorsActivity = 'org.solovyev.android.calculator.math.edit.CalculatorOperatorsActivity'
|
||||
deviceName = 'emulator-5580'
|
||||
|
||||
def takeScreenshot (folder, filename):
|
||||
screenshot = device.takeSnapshot()
|
||||
screenshot.writeToFile(folder + '/' + filename + '.png','png')
|
||||
return
|
||||
|
||||
print 'Waiting for device ' + deviceName + '...'
|
||||
device = MonkeyRunner.waitForConnection(100, deviceName)
|
||||
|
||||
if device:
|
||||
|
||||
print 'Device found, removing application if any ' + package + '...'
|
||||
device.removePackage(package)
|
||||
|
||||
print 'Installing apk ' + apk + '...'
|
||||
device.installPackage(apk)
|
||||
|
||||
runComponent = package + '/' + activity
|
||||
|
||||
print 'Starting activity ' + runComponent + '...'
|
||||
device.startActivity(component=runComponent)
|
||||
|
||||
# sleep while application will be loaded
|
||||
MonkeyRunner.sleep(15);
|
||||
|
||||
print 'Taking screenshot...'
|
||||
#outFilename = outFilename + '_' + str(time.time())
|
||||
takeScreenshot(outFolder, outFilename);
|
||||
|
||||
runComponent = package + '/' + operatorsActivity
|
||||
|
||||
print 'Starting activity ' + runComponent + '...'
|
||||
device.startActivity(component=runComponent)
|
||||
|
||||
# sleep while application will be loaded
|
||||
MonkeyRunner.sleep(4);
|
||||
|
||||
print 'Taking screenshot...'
|
||||
#outFilename = outFilename + '_' + str(time.time())
|
||||
takeScreenshot(outFolder, outFilename + '_operators');
|
||||
|
||||
runComponent = package + '/' + mobileActivity
|
||||
|
||||
print 'Starting activity ' + runComponent + '...'
|
||||
device.startActivity(component=runComponent)
|
||||
|
||||
# sleep while application will be loaded
|
||||
MonkeyRunner.sleep(4);
|
||||
|
||||
print 'Taking screenshot...'
|
||||
#outFilename = outFilename + '_' + str(time.time())
|
||||
takeScreenshot(outFolder, outFilename + '_mobile');
|
||||
|
||||
print '#########'
|
||||
print 'Finished!'
|
||||
print '#########'
|
||||
else:
|
||||
print '#########'
|
||||
print 'Failure!'
|
||||
print '#########'
|
49
android-app/misc/other/take_screenshots.sh
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
predefined=1
|
||||
scale=0.51
|
||||
|
||||
# first predefined
|
||||
|
||||
if [ $predefined -eq 1 ]
|
||||
then
|
||||
declare -a names=("AVD_Galaxy_Tab" "AVD_Nexus_S_by_Google" "AVD_Nexus_One_by_Google" "AVD_Nexus_7_by_Google" "AVD_Galaxy_Nexus_by_Google")
|
||||
for name in ${names[@]}
|
||||
do
|
||||
$ANDROID_HOME/tools/emulator -ports 5580,5581 -avd $name -scale $scale &
|
||||
sleep 50
|
||||
$ANDROID_HOME/tools/monkeyrunner ./take_screenshots.py ~/projects/java/android/calculatorpp/calculatorpp/misc/other/tmp/2012.11.25 $name
|
||||
$ANDROID_HOME/platform-tools/adb -s emulator-5580 emu kill
|
||||
sleep 3
|
||||
done
|
||||
fi
|
||||
|
||||
# then all others
|
||||
|
||||
declare -a densities=("160" "213" "240" "320")
|
||||
#declare -a densities=("213" "240" "320")
|
||||
declare -a resolutions=("480x640" "480x800" "480x854" "640x960" "1024x600" "1024x768" "1280x768")
|
||||
#declare -a resolutions=("480x640")
|
||||
declare -a targets=("android-16")
|
||||
|
||||
for target in ${targets[@]}
|
||||
do
|
||||
for density in ${densities[@]}
|
||||
do
|
||||
|
||||
for resolution in ${resolutions[@]}
|
||||
do
|
||||
name="AVD"
|
||||
name="$name$density"
|
||||
name="$name$resolution"
|
||||
name="$name$target"
|
||||
|
||||
$ANDROID_HOME/tools/emulator -ports 5580,5581 -avd $name -scale $scale &
|
||||
sleep 5
|
||||
$ANDROID_HOME/tools/monkeyrunner ./take_screenshots.py ~/projects/java/android/calculatorpp/calculatorpp/misc/other/tmp/2012.11.25 $name
|
||||
$ANDROID_HOME/platform-tools/adb -s emulator-5580 emu kill
|
||||
sleep 3
|
||||
|
||||
done
|
||||
done
|
||||
done
|
19
android-app/misc/other/take_screenshots2.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
predefined=1
|
||||
scale=0.51
|
||||
|
||||
# first predefined
|
||||
|
||||
if [ $predefined -eq 1 ]
|
||||
then
|
||||
declare -a names=("AVD_Nexus_7_by_Google")
|
||||
for name in ${names[@]}
|
||||
do
|
||||
$ANDROID_HOME/tools/emulator -ports 5580,5581 -avd $name -scale $scale &
|
||||
sleep 50
|
||||
$ANDROID_HOME/tools/monkeyrunner ./take_screenshots.py ~/projects/java/android/calculatorpp/calculatorpp/misc/other/tmp/2012.11.25 $name
|
||||
$ANDROID_HOME/platform-tools/adb -s emulator-5580 emu kill
|
||||
sleep 3
|
||||
done
|
||||
fi
|
10
android-app/misc/other/wait_device.py
Normal file
@@ -0,0 +1,10 @@
|
||||
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
|
||||
|
||||
print 'Waiting for device...'
|
||||
device = MonkeyRunner.waitForConnection(100, 'emulator-5580')
|
||||
print 'Finished'
|
||||
if device :
|
||||
print 'Success'
|
||||
else :
|
||||
print 'Failure'
|
||||
|
BIN
android-app/misc/res/calculatorpp/01_main_screen_port.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
android-app/misc/res/calculatorpp/01_main_screen_port_sm.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
android-app/misc/res/calculatorpp/02_main_screen_land.png
Normal file
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 49 KiB |
BIN
android-app/misc/res/calculatorpp/04_plot_graph_menu.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
android-app/misc/res/calculatorpp/04_plot_graph_menu_sm.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
android-app/misc/res/calculatorpp/05_graph_screen.png
Normal file
After Width: | Height: | Size: 31 KiB |
BIN
android-app/misc/res/calculatorpp/05_graph_screen_sm.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
android-app/misc/res/calculatorpp/06_constants_screen.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
android-app/misc/res/calculatorpp/06_constants_screen_sm.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
android-app/misc/res/calculatorpp/07_constant_create_dialog.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
android-app/misc/res/calculatorpp/08_constants_context_menu.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
android-app/misc/res/calculatorpp/09_functions_screen.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
android-app/misc/res/calculatorpp/09_functions_screen_sm.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
android-app/misc/res/calculatorpp/10_history_screen.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
android-app/misc/res/calculatorpp/10_history_screen_sm.png
Normal file
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 32 KiB |
BIN
android-app/misc/res/calculatorpp/12_saved_history_tab.png
Normal file
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 27 KiB |
BIN
android-app/misc/res/calculatorpp/14_about_screen.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
android-app/misc/res/calculatorpp/14_about_screen_sm.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
android-app/misc/res/calculatorpp/15_release_notes_tab.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
android-app/misc/res/calculatorpp/16_help_screen.png
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
android-app/misc/res/calculatorpp/16_help_screen_sm.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
android-app/misc/res/calculatorpp/17_hints_tab.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
android-app/misc/res/calculatorpp/18_preferences.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
android-app/misc/res/calculatorpp/18_preferences_02.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
android-app/misc/res/calculatorpp/18_preferences_03.png
Normal file
After Width: | Height: | Size: 50 KiB |
BIN
android-app/misc/res/calculatorpp/18_preferences_sm.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
android-app/misc/res/calculatorpp/plan.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
android-app/misc/res/calculatorpp/plan.xcf
Normal file
BIN
android-app/misc/res/icon-green.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
android-app/misc/res/icon-hi-res.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
android-app/misc/res/icon-promo.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
android-app/misc/res/icon.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
android-app/misc/res/kb_facebook.png
Normal file
After Width: | Height: | Size: 745 B |
BIN
android-app/misc/res/kb_facebook_icon.png
Normal file
After Width: | Height: | Size: 940 B |
BIN
android-app/misc/res/logo-admob.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
android-app/misc/res/logo-scaled.png
Normal file
After Width: | Height: | Size: 52 KiB |
BIN
android-app/misc/res/logo-small.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
android-app/misc/res/logo.cdr
Normal file
BIN
android-app/misc/res/logo.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
android-app/misc/res/widget.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
android-app/misc/res/work/Backup_of_logo.cdr
Normal file
BIN
android-app/misc/res/work/header.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
android-app/misc/res/work/header_bg.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
android-app/misc/res/work/header_sm.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
android-app/misc/res/work/heart_original.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
android-app/misc/res/work/icon.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
android-app/misc/res/work/icon_favicon_light_blue.ico
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
android-app/misc/res/work/icon_favicon_light_blue.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
android-app/misc/res/work/icon_favicon_purple.ico
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
android-app/misc/res/work/icon_small.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
android-app/misc/res/work/log11o.psd
Normal file
BIN
android-app/misc/res/work/logo.cdr
Normal file
BIN
android-app/misc/res/work/logo.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
android-app/misc/res/work/logoFULL copy.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
android-app/misc/res/work/logoFULL.pdf
Normal file
BIN
android-app/misc/res/work/logoFULL.png
Normal file
After Width: | Height: | Size: 35 KiB |
BIN
android-app/misc/res/work/logoFULL_banner.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
android-app/misc/res/work/logoFULL_small.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
android-app/misc/res/work/logo_black.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
android-app/misc/res/work/logo_blue.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
android-app/misc/res/work/logo_light_blue.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
android-app/misc/res/work/logo_purple.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
android-app/misc/res/work/promo_logo.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
android-app/misc/res/work/text_logo.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
android-app/misc/res/work/text_logo_blue.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
android-app/misc/res/work/text_logo_light_blue.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
android-app/misc/res/work/text_logo_light_blue_cpp_forum.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
android-app/misc/res/work/text_logo_purple.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
android-app/misc/src/achartengine-0.7.0.jar
Normal file
BIN
android-app/misc/src/bsh.jar
Normal file
304
android-app/pom.xml
Normal file
@@ -0,0 +1,304 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
|
||||
<parent>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-parent</artifactId>
|
||||
<version>1.5.3-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-android-app</artifactId>
|
||||
<packaging>apk</packaging>
|
||||
<name>Calculator++ Application</name>
|
||||
|
||||
<dependencies>
|
||||
|
||||
<!-- OWN -->
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-android-app-core</artifactId>
|
||||
<type>apklib</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-android-app-widget</artifactId>
|
||||
<type>apklib</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>calculatorpp-android-app-onscreen</artifactId>
|
||||
<type>apklib</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev</groupId>
|
||||
<artifactId>common-core</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev</groupId>
|
||||
<artifactId>common-text</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev.android</groupId>
|
||||
<artifactId>android-common-all</artifactId>
|
||||
<type>apklib</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.solovyev</groupId>
|
||||
<artifactId>jscl</artifactId>
|
||||
</dependency>
|
||||
|
||||
<!--OTHER-->
|
||||
<dependency>
|
||||
<groupId>ch.acra</groupId>
|
||||
<artifactId>acra</artifactId>
|
||||
<version>4.3.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
<artifactId>android</artifactId>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.android</groupId>
|
||||
<artifactId>support-v4</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.actionbarsherlock</groupId>
|
||||
<artifactId>library</artifactId>
|
||||
<type>apklib</type>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>net.sf.opencsv</groupId>
|
||||
<artifactId>opencsv</artifactId>
|
||||
<version>2.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.mockito</groupId>
|
||||
<artifactId>mockito-core</artifactId>
|
||||
<version>1.9.0</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.simpleframework</groupId>
|
||||
<artifactId>simple-xml</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>achartengine</groupId>
|
||||
<artifactId>achartengine</artifactId>
|
||||
<version>0.7.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>admob</groupId>
|
||||
<artifactId>admob</artifactId>
|
||||
<version>6.1.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.google.guava</groupId>
|
||||
<artifactId>guava</artifactId>
|
||||
<version>11.0.2</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.intellij</groupId>
|
||||
<artifactId>annotations</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.pivotallabs</groupId>
|
||||
<artifactId>robolectric</artifactId>
|
||||
<version>1.1</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
|
||||
<artifactId>android-maven-plugin</artifactId>
|
||||
<extensions>true</extensions>
|
||||
<configuration>
|
||||
<manifest>
|
||||
<debuggable>true</debuggable>
|
||||
</manifest>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>manifestUpdate</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>manifest-update</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>alignApk</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>zipalign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
|
||||
<profile>
|
||||
<id>release</id>
|
||||
<!-- via this activation the profile is automatically used when the release is done with the maven release
|
||||
plugin -->
|
||||
<activation>
|
||||
<property>
|
||||
<name>performRelease</name>
|
||||
<value>true</value>
|
||||
</property>
|
||||
</activation>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jarsigner-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>signing</id>
|
||||
<goals>
|
||||
<goal>sign</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
<phase>package</phase>
|
||||
<inherited>true</inherited>
|
||||
|
||||
<configuration>
|
||||
<removeExistingSignatures>true</removeExistingSignatures>
|
||||
<includes>
|
||||
<include>${project.build.directory}/${project.artifactId}-${project.version}.apk</include>
|
||||
</includes>
|
||||
<verbose>true</verbose>
|
||||
</configuration>
|
||||
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- the signed apk then needs to be zipaligned and we activate proguard and we run the manifest
|
||||
update -->
|
||||
<plugin>
|
||||
<groupId>com.jayway.maven.plugins.android.generation2</groupId>
|
||||
<artifactId>android-maven-plugin</artifactId>
|
||||
<inherited>true</inherited>
|
||||
<configuration>
|
||||
|
||||
<sign>
|
||||
<debug>false</debug>
|
||||
</sign>
|
||||
|
||||
<zipalign>
|
||||
<skip>false</skip>
|
||||
<verbose>true</verbose>
|
||||
<inputApk>${project.build.directory}/${project.artifactId}-${project.version}.apk</inputApk>
|
||||
<outputApk>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</outputApk>
|
||||
</zipalign>
|
||||
|
||||
<manifest>
|
||||
<debuggable>false</debuggable>
|
||||
<versionCodeAutoIncrement>true</versionCodeAutoIncrement>
|
||||
</manifest>
|
||||
|
||||
<proguard>
|
||||
<skip>false</skip>
|
||||
</proguard>
|
||||
</configuration>
|
||||
|
||||
<executions>
|
||||
<execution>
|
||||
<id>manifestUpdate</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>manifest-update</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>alignApk</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>zipalign</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>build-helper-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<artifacts>
|
||||
<artifact>
|
||||
<file>${project.build.directory}/${project.artifactId}-${project.version}-signed-aligned.apk</file>
|
||||
<type>apk</type>
|
||||
<classifier>signed-aligned</classifier>
|
||||
</artifact>
|
||||
<artifact>
|
||||
<file>${project.build.directory}/proguard/mapping.txt</file>
|
||||
<type>map</type>
|
||||
<classifier>release</classifier>
|
||||
</artifact>
|
||||
</artifacts>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-signed-aligned</id>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>attach-artifact</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
|
||||
</project>
|
134
android-app/proguard.cfg
Normal file
@@ -0,0 +1,134 @@
|
||||
-target 1.6
|
||||
-dontusemixedcaseclassnames
|
||||
-dontskipnonpubliclibraryclasses
|
||||
-dontpreverify
|
||||
-repackageclasses ''
|
||||
-allowaccessmodification
|
||||
-optimizations !code/simplification/arithmetic
|
||||
-keepattributes *Annotation*
|
||||
|
||||
-keep public class * extends android.app.Activity
|
||||
-keep public class * extends android.app.Application
|
||||
-keep public class * extends android.app.Service
|
||||
-keep public class * extends android.content.BroadcastReceiver
|
||||
-keep public class * extends android.content.ContentProvider
|
||||
|
||||
-keep public class * extends android.view.View {
|
||||
public <init>(android.content.Context);
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
public void set*(...);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet);
|
||||
}
|
||||
|
||||
-keepclasseswithmembers class * {
|
||||
public <init>(android.content.Context, android.util.AttributeSet, int);
|
||||
}
|
||||
|
||||
-keepclassmembers class * extends android.content.Context {
|
||||
public void *(android.view.View);
|
||||
public void *(android.view.MenuItem);
|
||||
}
|
||||
|
||||
-keepclassmembers class * implements android.os.Parcelable {
|
||||
static android.os.Parcelable$Creator CREATOR;
|
||||
}
|
||||
|
||||
-keepclassmembers class **.R$* {
|
||||
public static <fields>;
|
||||
}
|
||||
|
||||
-keepclassmembers enum * {
|
||||
public static **[] values();
|
||||
public static ** valueOf(java.lang.String);
|
||||
}
|
||||
|
||||
-keep @org.simpleframework.xml.Root public class * {
|
||||
*;
|
||||
}
|
||||
|
||||
-dontwarn javax.xml.stream.**
|
||||
-dontwarn com.bea.xml.stream.**
|
||||
-dontwarn sun.misc.Unsafe
|
||||
-dontwarn android.annotation.TargetApi
|
||||
-dontwarn org.solovyev.common.math.visualisation.**
|
||||
-dontwarn org.solovyev.common.math.graph.**
|
||||
-dontwarn org.solovyev.common.math.algorithms.**
|
||||
-dontwarn org.solovyev.common.drawing.**
|
||||
-dontwarn org.joda.**
|
||||
-dontwarn jscl.mathml.**
|
||||
-dontwarn com.google.common.collect.MinMaxPriorityQueue
|
||||
|
||||
-keep class org.simpleframework.xml.** { *; }
|
||||
-keep class * implements org.solovyev.android.calculator.model.MathPersistenceEntity
|
||||
-keep class * implements org.solovyev.android.calculator.MathEntityPersistenceContainer
|
||||
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
# LOGS
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
|
||||
-assumenosideeffects class android.util.Log {
|
||||
public static int v(...);
|
||||
public static int d(...);
|
||||
public static int i(...);
|
||||
public static int w(...);
|
||||
public static int e(...);
|
||||
}
|
||||
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
# SHERLOCK
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
|
||||
-keep class android.support.v4.app.** { *; }
|
||||
-keep interface android.support.v4.app.** { *; }
|
||||
-keep class com.actionbarsherlock.** { *; }
|
||||
-keep interface com.actionbarsherlock.** { *; }
|
||||
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
# ACRA
|
||||
#
|
||||
#*********************************************************************
|
||||
#
|
||||
|
||||
# we need line numbers in our stack traces otherwise they are pretty useless
|
||||
-renamesourcefileattribute SourceFile
|
||||
-keepattributes SourceFile,LineNumberTable
|
||||
|
||||
# ACRA needs "annotations" so add this...
|
||||
-keepattributes *Annotation*
|
||||
|
||||
# keep this class so that logging will show 'ACRA' and not a obfuscated name like 'a'.
|
||||
# Note: if you are removing log messages elsewhere in this file then this isn't necessary
|
||||
-keep class org.acra.ACRA {
|
||||
*;
|
||||
}
|
||||
|
||||
# keep this around for some enums that ACRA needs
|
||||
-keep class org.acra.ReportingInteractionMode {
|
||||
*;
|
||||
}
|
||||
|
||||
# keep this otherwise it is removed by ProGuard
|
||||
-keep public class org.acra.ErrorReporter
|
||||
{
|
||||
public void addCustomData(java.lang.String,java.lang.String);
|
||||
}
|
||||
|
||||
# keep this otherwise it is removed by ProGuard
|
||||
-keep public class org.acra.ErrorReporter
|
||||
{
|
||||
public org.acra.ErrorReporter$ReportsSenderWorker handleSilentException(java.lang.Throwable);
|
||||
}
|
30
android-app/project.properties
Normal file
@@ -0,0 +1,30 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system use,
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
|
||||
# Project target.
|
||||
target=android-15
|
||||
android.library.reference.1=../android-app-core
|
||||
android.library.reference.2=../android-app-widget
|
||||
android.library.reference.3=../android-app-onscreen
|
||||
android.library.reference.4=gen-external-apklibs/org.solovyev.android_android-common-all_1.0.6
|
||||
android.library.reference.5=gen-external-apklibs/org.solovyev.android_android-common-ads_1.0.6
|
||||
android.library.reference.6=gen-external-apklibs/org.solovyev.android_android-common-core_1.0.6
|
||||
android.library.reference.7=gen-external-apklibs/org.solovyev.android_android-common-billing_1.0.6
|
||||
android.library.reference.8=gen-external-apklibs/org.solovyev.android_android-common-db_1.0.6
|
||||
android.library.reference.9=gen-external-apklibs/org.solovyev.android_android-common-http_1.0.6
|
||||
android.library.reference.10=gen-external-apklibs/org.solovyev.android_android-common-list_1.0.6
|
||||
android.library.reference.11=gen-external-apklibs/org.solovyev.android_android-common-view_1.0.6
|
||||
android.library.reference.12=gen-external-apklibs/org.solovyev.android_android-common-preferences_1.0.6
|
||||
android.library.reference.13=gen-external-apklibs/org.solovyev.android_android-common-menu_1.0.6
|
||||
android.library.reference.14=gen-external-apklibs/org.solovyev.android_android-common-other_1.0.6
|
||||
android.library.reference.15=gen-external-apklibs/org.solovyev.android_android-common-sherlock_1.0.6
|
||||
android.library.reference.16=gen-external-apklibs/com.actionbarsherlock_actionbarsherlock_4.2.0
|
||||
android.library.reference.17=gen-external-apklibs/org.solovyev.android_android-common-keyboard_1.0.6
|
||||
|
||||
|
53
android-app/res/layout-land/cpp_app_keyboard.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical">
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_vars"/>
|
||||
<include layout="@layout/cpp_app_button_copy"/>
|
||||
<include layout="@layout/cpp_drag_button_7"/>
|
||||
<include layout="@layout/cpp_drag_button_8"/>
|
||||
<include layout="@layout/cpp_drag_button_9"/>
|
||||
<include layout="@layout/cpp_drag_button_multiplication"/>
|
||||
<include layout="@layout/cpp_drag_button_division"/>
|
||||
<include layout="@layout/cpp_drag_button_equals"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_functions"/>
|
||||
<include layout="@layout/cpp_app_button_paste"/>
|
||||
<include layout="@layout/cpp_drag_button_4"/>
|
||||
<include layout="@layout/cpp_drag_button_5"/>
|
||||
<include layout="@layout/cpp_drag_button_6"/>
|
||||
<include layout="@layout/cpp_drag_button_plus"/>
|
||||
<include layout="@layout/cpp_drag_button_subtraction"/>
|
||||
<include layout="@layout/cpp_drag_button_round_brackets"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_operators"/>
|
||||
<include layout="@layout/cpp_app_button_donate"/>
|
||||
<include layout="@layout/cpp_drag_button_1"/>
|
||||
<include layout="@layout/cpp_drag_button_2"/>
|
||||
<include layout="@layout/cpp_drag_button_3"/>
|
||||
<include layout="@layout/cpp_drag_button_0"/>
|
||||
<include layout="@layout/cpp_drag_button_dot"/>
|
||||
<include layout="@layout/cpp_drag_button_history"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
53
android-app/res/layout-land/cpp_app_keyboard_mobile.xml
Normal file
@@ -0,0 +1,53 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical">
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_vars"/>
|
||||
<include layout="@layout/cpp_app_button_copy"/>
|
||||
<include layout="@layout/cpp_drag_button_7"/>
|
||||
<include layout="@layout/cpp_drag_button_8"/>
|
||||
<include layout="@layout/cpp_drag_button_9"/>
|
||||
<include layout="@layout/cpp_drag_button_multiplication"/>
|
||||
<include layout="@layout/cpp_drag_button_division"/>
|
||||
<include layout="@layout/cpp_drag_button_equals"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_functions"/>
|
||||
<include layout="@layout/cpp_app_button_paste"/>
|
||||
<include layout="@layout/cpp_drag_button_4"/>
|
||||
<include layout="@layout/cpp_drag_button_5"/>
|
||||
<include layout="@layout/cpp_drag_button_6"/>
|
||||
<include layout="@layout/cpp_drag_button_plus"/>
|
||||
<include layout="@layout/cpp_drag_button_subtraction"/>
|
||||
<include layout="@layout/cpp_drag_button_round_brackets"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_operators"/>
|
||||
<include layout="@layout/cpp_app_button_donate"/>
|
||||
<include layout="@layout/cpp_drag_button_1"/>
|
||||
<include layout="@layout/cpp_drag_button_2"/>
|
||||
<include layout="@layout/cpp_drag_button_3"/>
|
||||
<include layout="@layout/cpp_drag_button_0"/>
|
||||
<include layout="@layout/cpp_drag_button_dot"/>
|
||||
<include layout="@layout/cpp_drag_button_history"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
16
android-app/res/layout-land/main_calculator.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_layout"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_main_layout_style">
|
||||
|
||||
<include layout="@layout/main_first_pane"/>
|
||||
|
||||
</LinearLayout>
|
16
android-app/res/layout-land/main_calculator_mobile.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_layout"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_main_layout_style">
|
||||
|
||||
<include layout="@layout/main_first_pane_mobile"/>
|
||||
|
||||
</LinearLayout>
|
62
android-app/res/layout-land/main_first_pane.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical"
|
||||
a:layout_gravity="center">
|
||||
|
||||
<LinearLayout a:id="@+id/editorContainer"
|
||||
a:layout_weight="2"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp"/>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_left"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<include layout="@layout/cpp_app_button_erase"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<LinearLayout a:id="@+id/displayContainer"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="4"
|
||||
a:layout_margin="@dimen/cpp_display_margin_land"/>
|
||||
|
||||
<include layout="@layout/cpp_drag_button_clear"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<include layout="@layout/cpp_drag_button_right"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/keyboardContainer"
|
||||
a:layout_weight="3"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
62
android-app/res/layout-land/main_first_pane_mobile.xml
Normal file
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical"
|
||||
a:layout_gravity="center">
|
||||
|
||||
<LinearLayout a:id="@+id/editorContainer"
|
||||
a:layout_weight="2"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp"/>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_left"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<include layout="@layout/cpp_app_button_erase"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<LinearLayout a:id="@+id/displayContainer"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="4"
|
||||
a:layout_margin="@dimen/cpp_display_margin_land"/>
|
||||
|
||||
<include layout="@layout/cpp_drag_button_clear"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<include layout="@layout/cpp_drag_button_right"
|
||||
a:layout_margin="@dimen/cpp_button_margin"
|
||||
a:layout_width="0dp"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/keyboardContainer"
|
||||
a:layout_weight="3"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp"/>
|
||||
|
||||
|
||||
</LinearLayout>
|
60
android-app/res/layout-large-land/cpp_app_keyboard.xml
Normal file
@@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical">
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_left"/>
|
||||
<include layout="@layout/cpp_app_button_erase"/>
|
||||
<include layout="@layout/cpp_app_button_donate"/>
|
||||
<include layout="@layout/cpp_drag_button_7"/>
|
||||
<include layout="@layout/cpp_drag_button_8"/>
|
||||
<include layout="@layout/cpp_drag_button_9"/>
|
||||
<include layout="@layout/cpp_drag_button_multiplication"/>
|
||||
<include layout="@layout/cpp_drag_button_division"/>
|
||||
<include layout="@layout/cpp_drag_button_clear"/>
|
||||
<include layout="@layout/cpp_drag_button_right"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_vars"/>
|
||||
<include layout="@layout/cpp_drag_button_functions"/>
|
||||
<include layout="@layout/cpp_drag_button_empty"/>
|
||||
<include layout="@layout/cpp_drag_button_4"/>
|
||||
<include layout="@layout/cpp_drag_button_5"/>
|
||||
<include layout="@layout/cpp_drag_button_6"/>
|
||||
<include layout="@layout/cpp_drag_button_plus"/>
|
||||
<include layout="@layout/cpp_drag_button_subtraction"/>
|
||||
<include layout="@layout/cpp_app_button_copy"/>
|
||||
<include layout="@layout/cpp_drag_button_equals"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_empty"/>
|
||||
<include layout="@layout/cpp_drag_button_operators"/>
|
||||
<include layout="@layout/cpp_drag_button_dot"/>
|
||||
<include layout="@layout/cpp_drag_button_1"/>
|
||||
<include layout="@layout/cpp_drag_button_2"/>
|
||||
<include layout="@layout/cpp_drag_button_3"/>
|
||||
<include layout="@layout/cpp_drag_button_0"/>
|
||||
<include layout="@layout/cpp_drag_button_round_brackets"/>
|
||||
<include layout="@layout/cpp_app_button_paste"/>
|
||||
<include layout="@layout/cpp_drag_button_history"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
</LinearLayout>
|
57
android-app/res/layout-large-land/main_calculator.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_layout"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_main_multi_pane_layout_style">
|
||||
|
||||
<LinearLayout
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_weight="3"
|
||||
a:orientation="horizontal"
|
||||
a:baselineAligned="false">
|
||||
|
||||
<LinearLayout
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="1"
|
||||
a:orientation="vertical"
|
||||
a:layout_gravity="center">
|
||||
|
||||
<LinearLayout a:id="@+id/editorContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_pane_style"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
<LinearLayout a:id="@+id/displayContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_pane_style"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/main_second_pane"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="1"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_pane_style"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/keyboardContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_weight="2"
|
||||
style="?cpp_pane_style_transparent"/>
|
||||
|
||||
</LinearLayout>
|
28
android-app/res/layout-large/cpp_app_display.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_fragment_layout"
|
||||
style="?cpp_fragment_layout_style"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent">
|
||||
|
||||
<TextView a:id="@+id/fragment_title"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_fragment_title_style"/>
|
||||
|
||||
<org.solovyev.android.calculator.AndroidCalculatorDisplayView
|
||||
a:id="@+id/calculator_display"
|
||||
style="@style/cpp_display_style"
|
||||
a:inputType="textMultiLine"
|
||||
a:maxLines="3"
|
||||
a:scrollHorizontally="false"
|
||||
a:scrollbars="none"/>
|
||||
|
||||
</LinearLayout>
|
28
android-app/res/layout-large/cpp_app_editor.xml
Normal file
@@ -0,0 +1,28 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_fragment_layout"
|
||||
style="?cpp_fragment_layout_style"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent">
|
||||
|
||||
<TextView a:id="@+id/fragment_title"
|
||||
a:layout_height="wrap_content"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_fragment_title_style"/>
|
||||
|
||||
<org.solovyev.android.calculator.AndroidCalculatorEditorView
|
||||
a:id="@+id/calculator_editor"
|
||||
style="@style/cpp_editor_style"
|
||||
a:textIsSelectable="true"
|
||||
a:singleLine="false"
|
||||
a:scrollbars="vertical"
|
||||
a:hint ="@string/c_calc_editor_hint"/>
|
||||
|
||||
</LinearLayout>
|
64
android-app/res/layout-large/cpp_app_keyboard.xml
Normal file
@@ -0,0 +1,64 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="match_parent"
|
||||
a:orientation="vertical">
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_left"/>
|
||||
<include layout="@layout/cpp_app_button_erase"/>
|
||||
<include layout="@layout/cpp_drag_button_7"/>
|
||||
<include layout="@layout/cpp_drag_button_8"/>
|
||||
<include layout="@layout/cpp_drag_button_9"/>
|
||||
<include layout="@layout/cpp_drag_button_multiplication"/>
|
||||
<include layout="@layout/cpp_drag_button_right"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_vars"/>
|
||||
<include layout="@layout/cpp_drag_button_clear"/>
|
||||
<include layout="@layout/cpp_drag_button_4"/>
|
||||
<include layout="@layout/cpp_drag_button_5"/>
|
||||
<include layout="@layout/cpp_drag_button_6"/>
|
||||
<include layout="@layout/cpp_drag_button_division"/>
|
||||
<include layout="@layout/cpp_app_button_copy"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_functions"/>
|
||||
<include layout="@layout/cpp_drag_button_equals"/>
|
||||
<include layout="@layout/cpp_drag_button_1"/>
|
||||
<include layout="@layout/cpp_drag_button_2"/>
|
||||
<include layout="@layout/cpp_drag_button_3"/>
|
||||
<include layout="@layout/cpp_drag_button_plus"/>
|
||||
<include layout="@layout/cpp_app_button_paste"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:layout_weight="1"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_height="0dp">
|
||||
|
||||
<include layout="@layout/cpp_drag_button_operators"/>
|
||||
<include layout="@layout/cpp_app_button_donate"/>
|
||||
<include layout="@layout/cpp_drag_button_round_brackets"/>
|
||||
<include layout="@layout/cpp_drag_button_0"/>
|
||||
<include layout="@layout/cpp_drag_button_dot"/>
|
||||
<include layout="@layout/cpp_drag_button_subtraction"/>
|
||||
<include layout="@layout/cpp_drag_button_history"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
57
android-app/res/layout-large/main_calculator.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
~ Copyright (c) 2009-2011. Created by serso aka se.solovyev.
|
||||
~ For more information, please, contact se.solovyev@gmail.com
|
||||
~ or visit http://se.solovyev.org
|
||||
-->
|
||||
<LinearLayout
|
||||
xmlns:a="http://schemas.android.com/apk/res/android"
|
||||
a:id="@+id/main_layout"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_main_multi_pane_layout_style">
|
||||
|
||||
<LinearLayout
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_weight="3"
|
||||
a:orientation="horizontal"
|
||||
a:baselineAligned="false">
|
||||
|
||||
<LinearLayout
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="1"
|
||||
a:orientation="vertical"
|
||||
a:layout_gravity="center">
|
||||
|
||||
<LinearLayout a:id="@+id/editorContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_pane_style"
|
||||
a:layout_weight="3"/>
|
||||
|
||||
<LinearLayout a:id="@+id/displayContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
style="?cpp_pane_style"
|
||||
a:layout_weight="1"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/main_second_pane"
|
||||
a:layout_height="match_parent"
|
||||
a:layout_width="0dp"
|
||||
a:layout_weight="1"
|
||||
a:orientation="vertical"
|
||||
style="?cpp_pane_style"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout a:id="@+id/keyboardContainer"
|
||||
a:layout_height="0dp"
|
||||
a:layout_width="match_parent"
|
||||
a:layout_weight="2"
|
||||
style="?cpp_pane_style_transparent"/>
|
||||
|
||||
</LinearLayout>
|