android: Adds dialogs and improves the error handling

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1825 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
sekelsenmat
2011-08-22 14:53:18 +00:00
parent 9300c23a79
commit f92b46fd23
6 changed files with 322 additions and 129 deletions

View File

@ -39,7 +39,7 @@
<PackageName Value="LCL"/>
</Item2>
</RequiredPackages>
<Units Count="26">
<Units Count="32">
<Unit0>
<Filename Value="android_bindings_generator.pas"/>
<IsPartOfProject Value="True"/>
@ -48,7 +48,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="15" Y="14"/>
<UsageCount Value="42"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -61,7 +61,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="3" Y="39"/>
<UsageCount Value="42"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
@ -117,12 +117,11 @@
<Filename Value="android_sdk_bindings_gen.pas"/>
<IsPartOfProject Value="True"/>
<UnitName Value="android_sdk_bindings_gen"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="159"/>
<CursorPos X="18" Y="188"/>
<UsageCount Value="42"/>
<TopLine Value="528"/>
<CursorPos X="132" Y="552"/>
<UsageCount Value="47"/>
<Loaded Value="True"/>
</Unit8>
<Unit9>
@ -201,9 +200,9 @@
<Filename Value="sdk_level_7/android_all.txt"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="71"/>
<CursorPos X="1" Y="83"/>
<UsageCount Value="14"/>
<TopLine Value="14"/>
<CursorPos X="28" Y="51"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
<DefaultSyntaxHighlighter Value="None"/>
</Unit18>
@ -230,7 +229,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="26" Y="9"/>
<UsageCount Value="14"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit21>
<Unit22>
@ -244,21 +243,22 @@
<Unit23>
<Filename Value="../../../lazarus/lcl/interfaces/android/android_all.pas"/>
<UnitName Value="android_all"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<TopLine Value="467"/>
<CursorPos X="3" Y="467"/>
<UsageCount Value="14"/>
<TopLine Value="1"/>
<CursorPos X="1" Y="13"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit23>
<Unit24>
<Filename Value="../../../lazarus/lcl/interfaces/android/androidpipescomm.pas"/>
<UnitName Value="androidpipescomm"/>
<EditorIndex Value="6"/>
<EditorIndex Value="12"/>
<WindowIndex Value="0"/>
<TopLine Value="38"/>
<CursorPos X="15" Y="62"/>
<UsageCount Value="14"/>
<UsageCount Value="16"/>
<Loaded Value="True"/>
</Unit24>
<Unit25>
@ -269,127 +269,187 @@
<CursorPos X="1" Y="1"/>
<UsageCount Value="10"/>
</Unit25>
<Unit26>
<Filename Value="../../../lazarus/lcl/arrow.pp"/>
<UnitName Value="Arrow"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="21"/>
<CursorPos X="3" Y="45"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit26>
<Unit27>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<UnitName Value="ExtCtrls"/>
<EditorIndex Value="7"/>
<WindowIndex Value="0"/>
<TopLine Value="388"/>
<CursorPos X="3" Y="412"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit27>
<Unit28>
<Filename Value="../../../lazarus/lcl/comctrls.pp"/>
<UnitName Value="ComCtrls"/>
<EditorIndex Value="10"/>
<WindowIndex Value="0"/>
<TopLine Value="1952"/>
<CursorPos X="26" Y="1976"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit28>
<Unit29>
<Filename Value="../../../lazarus/lcl/stdctrls.pp"/>
<UnitName Value="StdCtrls"/>
<EditorIndex Value="9"/>
<WindowIndex Value="0"/>
<TopLine Value="1025"/>
<CursorPos X="32" Y="1049"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit29>
<Unit30>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<UnitName Value="Grids"/>
<EditorIndex Value="8"/>
<WindowIndex Value="0"/>
<TopLine Value="606"/>
<CursorPos X="3" Y="630"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit30>
<Unit31>
<Filename Value="../../../lazarus/lcl/toolwin.pp"/>
<UnitName Value="Toolwin"/>
<EditorIndex Value="11"/>
<WindowIndex Value="0"/>
<TopLine Value="31"/>
<CursorPos X="3" Y="56"/>
<UsageCount Value="12"/>
<Loaded Value="True"/>
</Unit31>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Caret Line="131" Column="29" TopLine="91"/>
</Position1>
<Position2>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="143" Column="21" TopLine="99"/>
<Filename Value="../../../lazarus/lcl/interfaces/android/android_all.pas"/>
<Caret Line="280" Column="1" TopLine="258"/>
</Position2>
<Position3>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="145" Column="23" TopLine="99"/>
<Filename Value="../../../lazarus/lcl/interfaces/android/android_all.pas"/>
<Caret Line="854" Column="5" TopLine="815"/>
</Position3>
<Position4>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="42" Column="20" TopLine="3"/>
<Filename Value="../../../lazarus/lcl/arrow.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position4>
<Position5>
<Filename Value="../../../lazarus/lcl/interfaces/android/android_all.pas"/>
<Caret Line="666" Column="17" TopLine="653"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position5>
<Position6>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="864" Column="22" TopLine="858"/>
<Filename Value="../../../lazarus/lcl/comctrls.pp"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position6>
<Position7>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="150" Column="1" TopLine="103"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="555" Column="3" TopLine="531"/>
</Position7>
<Position8>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="42" Column="1" TopLine="1"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="252" Column="3" TopLine="228"/>
</Position8>
<Position9>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="151" Column="1" TopLine="108"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="710" Column="31" TopLine="686"/>
</Position9>
<Position10>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="653" Column="30" TopLine="629"/>
</Position10>
<Position11>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="37" Column="1" TopLine="14"/>
<Filename Value="../../../lazarus/lcl/extctrls.pp"/>
<Caret Line="595" Column="32" TopLine="571"/>
</Position11>
<Position12>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="267" Column="1" TopLine="220"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position12>
<Position13>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="797" Column="48" TopLine="781"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1335" Column="26" TopLine="1311"/>
</Position13>
<Position14>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1150" Column="30" TopLine="1126"/>
</Position14>
<Position15>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="33" Column="29" TopLine="1"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="630" Column="31" TopLine="606"/>
</Position15>
<Position16>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="410" Column="23" TopLine="396"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1531" Column="33" TopLine="1507"/>
</Position16>
<Position17>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="552" Column="23" TopLine="512"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1465" Column="33" TopLine="1441"/>
</Position17>
<Position18>
<Filename Value="mainform.pas"/>
<Caret Line="15" Column="80" TopLine="6"/>
<Filename Value="../../../lazarus/lcl/grids.pas"/>
<Caret Line="1150" Column="32" TopLine="1126"/>
</Position18>
<Position19>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="486" Column="65" TopLine="468"/>
<Filename Value="../../../lazarus/lcl/comctrls.pp"/>
<Caret Line="1764" Column="3" TopLine="1688"/>
</Position19>
<Position20>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="847" Column="64" TopLine="832"/>
<Filename Value="../../../lazarus/lcl/comctrls.pp"/>
<Caret Line="121" Column="3" TopLine="97"/>
</Position20>
<Position21>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="38" Column="66" TopLine="38"/>
<Filename Value="../../../lazarus/lcl/comctrls.pp"/>
<Caret Line="1976" Column="26" TopLine="1952"/>
</Position21>
<Position22>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="506" Column="11" TopLine="476"/>
<Filename Value="../../../lazarus/lcl/stdctrls.pp"/>
<Caret Line="165" Column="3" TopLine="141"/>
</Position22>
<Position23>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="38" Column="45" TopLine="1"/>
<Filename Value="../../../lazarus/lcl/stdctrls.pp"/>
<Caret Line="1290" Column="29" TopLine="1266"/>
</Position23>
<Position24>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="760" Column="1" TopLine="727"/>
<Filename Value="../../../lazarus/lcl/stdctrls.pp"/>
<Caret Line="1194" Column="31" TopLine="1170"/>
</Position24>
<Position25>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="26" Column="75" TopLine="1"/>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="39" Column="16" TopLine="14"/>
</Position25>
<Position26>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="306" Column="94" TopLine="293"/>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="51" Column="12" TopLine="14"/>
</Position26>
<Position27>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="22" Column="14" TopLine="1"/>
<Caret Line="89" Column="12" TopLine="49"/>
</Position27>
<Position28>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="123" Column="10" TopLine="83"/>
<Caret Line="109" Column="20" TopLine="69"/>
</Position28>
<Position29>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="124" Column="8" TopLine="84"/>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="552" Column="1" TopLine="525"/>
</Position29>
<Position30>
<Filename Value="sdk_level_7/android_all.txt"/>
<Caret Line="131" Column="29" TopLine="91"/>
<Filename Value="android_sdk_bindings_gen.pas"/>
<Caret Line="402" Column="39" TopLine="379"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -186,6 +186,7 @@ begin
ADest.Add(' AbsSpinner param_self_AbsSpinner;');
ADest.Add(' ArrayAdapter<String> param_self_ArrayAdapter_String_;');
ADest.Add(' AdapterView param_self_AdapterView;');
ADest.Add(' AlertDialog.Builder param_self_AlertDialog_Builder;');
ADest.Add(' //');
ADest.Add(' // Params');
ADest.Add(' //');
@ -206,6 +207,8 @@ begin
ADest.Add(' boolean lResult_boolean;');
ADest.Add(' CharSequence lResult_CharSequence;');
ADest.Add(' Display lResult_Display;');
ADest.Add(' AlertDialog.Builder lResult_AlertDialog_Builder;');
ADest.Add(' AlertDialog lResult_AlertDialog;');
ADest.Add('');
ADest.Add(' switch (Buffer)');
ADest.Add(' {');
@ -396,6 +399,7 @@ var
lParamNum: Integer = 1;
lCurWord, lParentClassName: string;
lMethodReturn, lMethodReturnPas, lMethodName, lParamType, lParamTypePas, lParamName, lParamPrefix: string;
lMethodReturnJavaIdentifier: string;
DeclarationBase, TmpStr, lIDString: string;
FPasOutputImplCurLine: Integer;
lJavaParamVar, lJavaParams, lJavaParamSelf: string;
@ -428,7 +432,7 @@ begin
if not FIsGlobalObject then
FPasOutputImpl.Add(' vAndroidPipesComm.SendInt(Index); // Self, Java Pointer');
lJavaParamSelf := 'param_self_' + JavaRemoveGeneric(FClassName);
lJavaParamSelf := 'param_self_' + JavaRemoveGeneric(ConvertPointToUnderline(FClassName));
FJavaOutputMethods.Add(' // ' + ASourceLine);
FJavaOutputMethods.Add(' case ' + lIDString + ':');
FJavaOutputMethods.Add(' DebugOut("' + lIDString + '");');
@ -498,7 +502,7 @@ begin
// And for Java params too
lJavaParams := System.Copy(lJavaParams, 0, Length(lJavaParams)-2);
// Add the return
// Add the Pascal return
if lMethodReturn = 'void' then
begin
TmpStr := TmpStr + ');';
@ -530,25 +534,27 @@ begin
FPasOutputImpl.Add('end;');
FPasOutputImpl.Add('');
// Java Return
FJavaOutputMethods.Add(' //');
lMethodReturnJavaIdentifier := 'lResult_' + ConvertPointToUnderline(lMethodReturn);
if AIsField then
begin
FJavaOutputMethods.Add(' lResult_' + lMethodReturn + ' = ' + lJavaParamSelf + '.' + lMethodName + ';');
FJavaOutputMethods.Add(' MyAndroidPipesComm.' + GetJavaResultFunction(lMethodReturn) + '(lResult_' + lMethodReturn + ');');
FJavaOutputMethods.Add(Format(' %s = %s.%s;', [lMethodReturnJavaIdentifier, lJavaParamSelf, lMethodName]));
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.%s(%s);', [GetJavaResultFunction(lMethodReturn), lMethodReturnJavaIdentifier]));
end
else if lMethodReturn = 'void' then
begin
FJavaOutputMethods.Add(' ' + lJavaParamSelf + '.' + lMethodName + '(' + lJavaParams + ');');
FJavaOutputMethods.Add(' MyAndroidPipesComm.SendResult();');
FJavaOutputMethods.Add(Format(' %s.%s(%s);', [lJavaParamSelf, lMethodName, lJavaParams]));
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.SendResult();', []));
end
else
begin
FJavaOutputMethods.Add(' lResult_' + lMethodReturn + ' = ' + lJavaParamSelf + '.' + lMethodName + '(' + lJavaParams + ');');
FJavaOutputMethods.Add(Format(' %s = %s.%s(%s);', [lMethodReturnJavaIdentifier, lJavaParamSelf, lMethodName, lJavaParams]));
if IsBasicJavaType(lMethodReturn) or (lMethodReturn = 'CharSequence') or (lMethodReturn = 'String') then
FJavaOutputMethods.Add(' MyAndroidPipesComm.' + GetJavaResultFunction(lMethodReturn) + '(lResult_' + lMethodReturn + ');')
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.%s(%s);', [GetJavaResultFunction(lMethodReturn), lMethodReturnJavaIdentifier]))
else
begin
FJavaOutputMethods.Add(Format(' ViewElements.add(lResult_%s);', [lMethodReturn]));
FJavaOutputMethods.Add(Format(' ViewElements.add(%s);', [lMethodReturnJavaIdentifier]));
FJavaOutputMethods.Add(Format(' MyAndroidPipesComm.%s(ViewElements.size() - 1);', [GetJavaResultFunction(lMethodReturn)]))
end;
end;

View File

@ -43,6 +43,45 @@ method void getMetrics(DisplayMetrics outMetrics)
[WindowManager] TJavaObject
method Display getDefaultDisplay()
[Dialog] TJavaObject
[AlertDialog] Dialog
[AlertDialog.Builder] TJavaObject
constructor Create(Activity)
#public AlertDialog create ()
#public Context getContext ()
#public AlertDialog.Builder setAdapter (ListAdapter adapter, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setCancelable (boolean cancelable)
#public AlertDialog.Builder setCursor (Cursor cursor, DialogInterface.OnClickListener listener, String labelColumn)
#public AlertDialog.Builder setCustomTitle (View customTitleView)
#public AlertDialog.Builder setIcon (Drawable icon)
#public AlertDialog.Builder setIcon (int iconId)
#public AlertDialog.Builder setIconAttribute (int attrId)
#public AlertDialog.Builder setInverseBackgroundForced (boolean useInverseBackground)
#public AlertDialog.Builder setItems (int itemsId, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setItems (CharSequence[] items, DialogInterface.OnClickListener listener)
method AlertDialog.Builder setMessage (CharSequence message)
#public AlertDialog.Builder setMessage (int messageId)
#public AlertDialog.Builder setMultiChoiceItems (CharSequence[] items, boolean[] checkedItems, DialogInterface.OnMultiChoiceClickListener listener)
#public AlertDialog.Builder setMultiChoiceItems (Cursor cursor, String isCheckedColumn, String labelColumn, DialogInterface.OnMultiChoiceClickListener listener)
#public AlertDialog.Builder setNegativeButton (CharSequence text, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setNeutralButton (int textId, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setNeutralButton (CharSequence text, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setOnCancelListener (DialogInterface.OnCancelListener onCancelListener)
#public AlertDialog.Builder setOnItemSelectedListener (AdapterView.OnItemSelectedListener listener)
#public AlertDialog.Builder setOnKeyListener (DialogInterface.OnKeyListener onKeyListener)
#public AlertDialog.Builder setPositiveButton (int textId, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setPositiveButton (CharSequence text, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setSingleChoiceItems (CharSequence[] items, int checkedItem, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setSingleChoiceItems (ListAdapter adapter, int checkedItem, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setSingleChoiceItems (int itemsId, int checkedItem, DialogInterface.OnClickListener listener)
#public AlertDialog.Builder setSingleChoiceItems (Cursor cursor, int checkedItem, String labelColumn, DialogInterface.OnClickListener listener)
method AlertDialog.Builder setTitle (CharSequence title)
#public AlertDialog.Builder setTitle (int titleId)
method AlertDialog.Builder setView (View view)
method AlertDialog show ()
#
# android.view
#

View File

@ -49,73 +49,81 @@ public class AndroidAll
static final int amkUI_TDisplay_getMetrics_0 = 0x00103000;
// WindowManager
static final int amkUI_TWindowManager_getDefaultDisplay_0 = 0x00104000;
// Dialog
// AlertDialog
// AlertDialog.Builder
static final int amkUI_TAlertDialog_Builder_Create_0 = 0x00107000;
static final int amkUI_TAlertDialog_Builder_setMessage_1 = 0x00107001;
static final int amkUI_TAlertDialog_Builder_setTitle_2 = 0x00107002;
static final int amkUI_TAlertDialog_Builder_setView_3 = 0x00107003;
static final int amkUI_TAlertDialog_Builder_show_4 = 0x00107004;
// ViewGroup.LayoutParams
static final int amkUI_TViewGroup_LayoutParams_Create_0 = 0x00105000;
static final int amkUI_TViewGroup_LayoutParams_Create_0 = 0x00108000;
// View
static final int amkUI_TView_setLayoutParams_0 = 0x00106000;
static final int amkUI_TView_setVisibility_1 = 0x00106001;
static final int amkUI_TView_setLayoutParams_0 = 0x00109000;
static final int amkUI_TView_setVisibility_1 = 0x00109001;
// ViewGroup
static final int amkUI_TViewGroup_addView_0 = 0x00107000;
static final int amkUI_TViewGroup_addView_1 = 0x00107001;
static final int amkUI_TViewGroup_addView_2 = 0x00107002;
static final int amkUI_TViewGroup_addView_3 = 0x00107003;
static final int amkUI_TViewGroup_addView_4 = 0x00107004;
static final int amkUI_TViewGroup_addView_0 = 0x0010A000;
static final int amkUI_TViewGroup_addView_1 = 0x0010A001;
static final int amkUI_TViewGroup_addView_2 = 0x0010A002;
static final int amkUI_TViewGroup_addView_3 = 0x0010A003;
static final int amkUI_TViewGroup_addView_4 = 0x0010A004;
// LinearLayout
static final int amkUI_TLinearLayout_Create_0 = 0x00108000;
static final int amkUI_TLinearLayout_setOrientation_1 = 0x00108001;
static final int amkUI_TLinearLayout_Create_0 = 0x0010B000;
static final int amkUI_TLinearLayout_setOrientation_1 = 0x0010B001;
// AbsoluteLayout
static final int amkUI_TAbsoluteLayout_Create_0 = 0x00109000;
static final int amkUI_TAbsoluteLayout_Create_0 = 0x0010C000;
// AbsoluteLayout.LayoutParams
static final int amkUI_TAbsoluteLayout_LayoutParams_Create_0 = 0x0010A000;
static final int amkUI_TAbsoluteLayout_LayoutParams_Create_0 = 0x0010D000;
// TextView
static final int amkUI_TTextView_Create_0 = 0x0010B000;
static final int amkUI_TTextView_setText_1 = 0x0010B001;
static final int amkUI_TTextView_setOnClickListener_2 = 0x0010B002;
static final int amkUI_TTextView_OnClickListener_Start_3 = 0x0010B003;
static final int amkUI_TTextView_OnClickListener_Finished_4 = 0x0010B004;
static final int amkUI_TTextView_setTextSize_5 = 0x0010B005;
static final int amkUI_TTextView_getText_6 = 0x0010B006;
static final int amkUI_TTextView_Create_0 = 0x0010E000;
static final int amkUI_TTextView_setText_1 = 0x0010E001;
static final int amkUI_TTextView_setOnClickListener_2 = 0x0010E002;
static final int amkUI_TTextView_OnClickListener_Start_3 = 0x0010E003;
static final int amkUI_TTextView_OnClickListener_Finished_4 = 0x0010E004;
static final int amkUI_TTextView_setTextSize_5 = 0x0010E005;
static final int amkUI_TTextView_getText_6 = 0x0010E006;
// EditText
static final int amkUI_TEditText_Create_0 = 0x0010C000;
static final int amkUI_TEditText_Create_0 = 0x0010F000;
// Button
static final int amkUI_TButton_Create_0 = 0x0010D000;
static final int amkUI_TButton_Create_0 = 0x00110000;
// FrameLayout
// TimePicker
static final int amkUI_TTimePicker_Create_0 = 0x0010F000;
static final int amkUI_TTimePicker_getCurrentHour_1 = 0x0010F001;
static final int amkUI_TTimePicker_setCurrentHour_2 = 0x0010F002;
static final int amkUI_TTimePicker_getCurrentMinute_3 = 0x0010F003;
static final int amkUI_TTimePicker_setCurrentMinute_4 = 0x0010F004;
static final int amkUI_TTimePicker_is24HourView_5 = 0x0010F005;
static final int amkUI_TTimePicker_setIs24HourView_6 = 0x0010F006;
static final int amkUI_TTimePicker_Create_0 = 0x00112000;
static final int amkUI_TTimePicker_getCurrentHour_1 = 0x00112001;
static final int amkUI_TTimePicker_setCurrentHour_2 = 0x00112002;
static final int amkUI_TTimePicker_getCurrentMinute_3 = 0x00112003;
static final int amkUI_TTimePicker_setCurrentMinute_4 = 0x00112004;
static final int amkUI_TTimePicker_is24HourView_5 = 0x00112005;
static final int amkUI_TTimePicker_setIs24HourView_6 = 0x00112006;
// ScrollView
static final int amkUI_TScrollView_Create_0 = 0x00110000;
static final int amkUI_TScrollView_Create_0 = 0x00113000;
// CompoundButton
static final int amkUI_TCompoundButton_isChecked_0 = 0x00111000;
static final int amkUI_TCompoundButton_performClick_1 = 0x00111001;
static final int amkUI_TCompoundButton_setChecked_2 = 0x00111002;
static final int amkUI_TCompoundButton_toggle_3 = 0x00111003;
static final int amkUI_TCompoundButton_isChecked_0 = 0x00114000;
static final int amkUI_TCompoundButton_performClick_1 = 0x00114001;
static final int amkUI_TCompoundButton_setChecked_2 = 0x00114002;
static final int amkUI_TCompoundButton_toggle_3 = 0x00114003;
// CheckBox
static final int amkUI_TCheckBox_Create_0 = 0x00112000;
static final int amkUI_TCheckBox_Create_0 = 0x00115000;
// AdapterView
static final int amkUI_TAdapterView_getSelectedItemPosition_0 = 0x00113000;
static final int amkUI_TAdapterView_getSelectedItemPosition_0 = 0x00116000;
// AbsSpinner
static final int amkUI_TAbsSpinner_getCount_0 = 0x00114000;
static final int amkUI_TAbsSpinner_setAdapter_1 = 0x00114001;
static final int amkUI_TAbsSpinner_setSelection_2 = 0x00114002;
static final int amkUI_TAbsSpinner_getCount_0 = 0x00117000;
static final int amkUI_TAbsSpinner_setAdapter_1 = 0x00117001;
static final int amkUI_TAbsSpinner_setSelection_2 = 0x00117002;
// Spinner
static final int amkUI_TSpinner_Create_0 = 0x00115000;
static final int amkUI_TSpinner_Create_0 = 0x00118000;
// Filterable
// Adapter
// ListAdapter
// SpinnerAdapter
// BaseAdapter
// ArrayAdapter<String>
static final int amkUI_TArrayAdapter_String__Create_0 = 0x0011B000;
static final int amkUI_TArrayAdapter_String__add_1 = 0x0011B001;
static final int amkUI_TArrayAdapter_String__clear_2 = 0x0011B002;
static final int amkUI_TArrayAdapter_String__insert_3 = 0x0011B003;
static final int amkUI_TArrayAdapter_String__remove_4 = 0x0011B004;
static final int amkUI_TArrayAdapter_String__Create_0 = 0x0011E000;
static final int amkUI_TArrayAdapter_String__add_1 = 0x0011E001;
static final int amkUI_TArrayAdapter_String__clear_2 = 0x0011E002;
static final int amkUI_TArrayAdapter_String__insert_3 = 0x0011E003;
static final int amkUI_TArrayAdapter_String__remove_4 = 0x0011E004;
// layout
public boolean ProcessCommand(int Buffer)
@ -144,6 +152,7 @@ public class AndroidAll
AbsSpinner param_self_AbsSpinner;
ArrayAdapter<String> param_self_ArrayAdapter_String_;
AdapterView param_self_AdapterView;
AlertDialog.Builder param_self_AlertDialog_Builder;
//
// Params
//
@ -164,6 +173,8 @@ public class AndroidAll
boolean lResult_boolean;
CharSequence lResult_CharSequence;
Display lResult_Display;
AlertDialog.Builder lResult_AlertDialog_Builder;
AlertDialog lResult_AlertDialog;
switch (Buffer)
{
@ -293,6 +304,65 @@ public class AndroidAll
ViewElements.add(lResult_Display);
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
case amkUI_TAlertDialog_Builder_Create_0:
DebugOut("amkUI_TAlertDialog_Builder_Create_0");
ViewElements.add(new AlertDialog.Builder(activity));
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
// method AlertDialog.Builder setMessage (CharSequence message)
case amkUI_TAlertDialog_Builder_setMessage_1:
DebugOut("amkUI_TAlertDialog_Builder_setMessage_1");
// Self
lInt = MyAndroidPipesComm.GetInt();
param_self_AlertDialog_Builder = (AlertDialog.Builder) ViewElements.get(lInt);
// params
lInt = MyAndroidPipesComm.GetInt();
lCharSequence_1 = (CharSequence) MyJavaLang.LangElements.get(lInt);
//
lResult_AlertDialog_Builder = param_self_AlertDialog_Builder.setMessage(lCharSequence_1);
ViewElements.add(lResult_AlertDialog_Builder);
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
// method AlertDialog.Builder setTitle (CharSequence title)
case amkUI_TAlertDialog_Builder_setTitle_2:
DebugOut("amkUI_TAlertDialog_Builder_setTitle_2");
// Self
lInt = MyAndroidPipesComm.GetInt();
param_self_AlertDialog_Builder = (AlertDialog.Builder) ViewElements.get(lInt);
// params
lInt = MyAndroidPipesComm.GetInt();
lCharSequence_1 = (CharSequence) MyJavaLang.LangElements.get(lInt);
//
lResult_AlertDialog_Builder = param_self_AlertDialog_Builder.setTitle(lCharSequence_1);
ViewElements.add(lResult_AlertDialog_Builder);
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
// method AlertDialog.Builder setView (View view)
case amkUI_TAlertDialog_Builder_setView_3:
DebugOut("amkUI_TAlertDialog_Builder_setView_3");
// Self
lInt = MyAndroidPipesComm.GetInt();
param_self_AlertDialog_Builder = (AlertDialog.Builder) ViewElements.get(lInt);
// params
lInt = MyAndroidPipesComm.GetInt();
lView_1 = (View) ViewElements.get(lInt);
//
lResult_AlertDialog_Builder = param_self_AlertDialog_Builder.setView(lView_1);
ViewElements.add(lResult_AlertDialog_Builder);
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
// method AlertDialog show ()
case amkUI_TAlertDialog_Builder_show_4:
DebugOut("amkUI_TAlertDialog_Builder_show_4");
// Self
lInt = MyAndroidPipesComm.GetInt();
param_self_AlertDialog_Builder = (AlertDialog.Builder) ViewElements.get(lInt);
// params
//
lResult_AlertDialog = param_self_AlertDialog_Builder.show();
ViewElements.add(lResult_AlertDialog);
MyAndroidPipesComm.SendIntResult(ViewElements.size() - 1);
break;
case amkUI_TViewGroup_LayoutParams_Create_0:
DebugOut("amkUI_TViewGroup_LayoutParams_Create_0");
lint_1 = MyAndroidPipesComm.GetInt();

View File

@ -64,15 +64,27 @@ public class AndroidPipesComm
public void PrintPascalException(byte Buffer)
{
String PascalMessage = "" + (char) Buffer;
byte curChar;
try
{
while (true)
{
PascalMessage = PascalMessage + (char) reader.readByte();
curChar = reader.readByte();
// Output line by line
if (curChar == 0x10)
{
ErrorOut(PascalMessage);
PascalMessage = "";
}
else
{
PascalMessage = PascalMessage + (char) curChar;
}
}
}
catch (IOException e)
{
ErrorOut("[PrintPascalException] Exception while obtaining the Pascal Exception, printing the rest of the buffer");
ErrorOut(PascalMessage);
}
}
@ -122,7 +134,7 @@ public class AndroidPipesComm
else if (MyAndroidApp.ProcessCommand(lSubtype) == true) ;
else
{
ErrorOut("Unknown UI Command!!!" + java.lang.Integer.toHexString(lSubtype));
ErrorOut("Unknown UI Command!!! This is normal in the end of a callback" + java.lang.Integer.toHexString(lSubtype));
};
}
else if (Buffer == amkJavaLangCall)
@ -139,7 +151,7 @@ public class AndroidPipesComm
// }
else
{
ErrorOut("Unknown Pascal message!!! " + java.lang.Integer.toHexString(Buffer));
ErrorOut("[WaitAndProcessPascalMessage] Unknown Pascal message!!! " + java.lang.Integer.toHexString(Buffer));
// If we get an Unknown Pascal message, it might be an error printed to the console, so lets print it and quit
PrintPascalException(Buffer);

View File

@ -72,7 +72,13 @@ end;
procedure TForm2.Button2Click(Sender: TObject);
begin
{$ifdef LCLAndroid}
vAndroidPipesComm.Log('TForm2.Button2Click');
{$endif}
InputBox('Caption', 'Prompt', 'Default');
{$ifdef LCLAndroid}
vAndroidPipesComm.Log('TForm2.Button2Click');
{$endif}
end;
initialization