#15736: Implement dialpad using Custom components
diff --git a/src/com/savoirfairelinux/sflphone/client/ButtonSectionFragment.java b/src/com/savoirfairelinux/sflphone/client/ButtonSectionFragment.java
index 076ef5f..f4fb81b 100644
--- a/src/com/savoirfairelinux/sflphone/client/ButtonSectionFragment.java
+++ b/src/com/savoirfairelinux/sflphone/client/ButtonSectionFragment.java
@@ -6,8 +6,10 @@
import android.view.InflateException;
import android.view.LayoutInflater;
import android.view.View;
+import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
+import android.widget.EditText;
import android.widget.TextView;
import com.savoirfairelinux.sflphone.R;
@@ -40,12 +42,11 @@
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState)
{
- View view;
-
- Log.i(TAG, "onCreateView" );
- view = inflater.inflate(R.layout.test_layout, parent, false);
+ View view;
+ Log.i(TAG, "onCreateView" );
+ view = inflater.inflate(R.layout.test_layout, parent, false);
- callVoidText = (TextView) view.findViewById(R.id.callVoid_text);
+ callVoidText = (TextView) view.findViewById(R.id.callVoid_text);
NewDataText = (TextView) view.findViewById(R.id.NewData_text);
buttonGetNewData = (Button) view.findViewById(R.id.buttonGetNewData);
@@ -53,13 +54,21 @@
DataStringText = (TextView) view.findViewById(R.id.DataString_text);
buttonGetDataString = (Button) view.findViewById(R.id.buttonGetDataString);
- try {
- inflater.inflate(R.layout.test_layout, parent, false);
- } catch (InflateException e) {
- Log.e(TAG, "Error inflating test_layout ", e);
- return null;
- }
+ Numpad numpad = (Numpad) view.findViewById(R.id.numPad);
+ EditText textEntry = (EditText) view.findViewById(R.id.numDisplay);
- return view;
+ numpad.setEditText(textEntry);
+
+/*
+ try {
+ inflater.inflate(R.layout.test_layout, parent, false);
+ } catch (InflateException e) {
+ Log.e(TAG, "Error inflating test_layout ", e);
+ return null;
+ }
+*/
+
+
+ return view;
}
}
diff --git a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
index ce19330..f2239df 100644
--- a/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
+++ b/src/com/savoirfairelinux/sflphone/client/ContactListFragment.java
@@ -238,6 +238,18 @@
return true;
}
});
+
+ lv.setOnItemSelectedListener(new OnItemSelectedListener() {
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ Log.i(TAG, "On Item Selected");
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ Log.i(TAG, "On Nothing Selected");
+ }
+ });
}
@Override
diff --git a/src/com/savoirfairelinux/sflphone/client/Numpad.java b/src/com/savoirfairelinux/sflphone/client/Numpad.java
new file mode 100644
index 0000000..e8a570a
--- /dev/null
+++ b/src/com/savoirfairelinux/sflphone/client/Numpad.java
@@ -0,0 +1,74 @@
+package com.savoirfairelinux.sflphone.client;
+
+import android.content.Context;
+import android.text.Editable;
+import android.widget.TableLayout;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.util.SparseArray;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.EditText;
+
+import com.savoirfairelinux.sflphone.R;
+
+public class Numpad extends TableLayout implements OnClickListener
+{
+ private static final String TAG = "Numpad";
+ private static final SparseArray<String> DIGITS_NAME = new SparseArray<String>();
+ private EditText mEditText;
+
+ static {
+ DIGITS_NAME.put(R.id.numButton0, "0");
+ DIGITS_NAME.put(R.id.numButton1, "1");
+ DIGITS_NAME.put(R.id.numButton2, "2");
+ DIGITS_NAME.put(R.id.numButton3, "3");
+ DIGITS_NAME.put(R.id.numButton4, "4");
+ DIGITS_NAME.put(R.id.numButton5, "5");
+ DIGITS_NAME.put(R.id.numButton6, "6");
+ DIGITS_NAME.put(R.id.numButton7, "7");
+ DIGITS_NAME.put(R.id.numButton8, "8");
+ DIGITS_NAME.put(R.id.numButton9, "9");
+ DIGITS_NAME.put(R.id.numButtonStar, "*");
+ DIGITS_NAME.put(R.id.numButtonSharp, "#");
+ }
+
+ public Numpad(Context context)
+ {
+ super(context);
+ }
+
+ public Numpad(Context context, AttributeSet attrs)
+ {
+ super(context, attrs);
+ LayoutInflater inflater = LayoutInflater.from(context);
+ inflater.inflate(R.layout.numpad, this, true);
+ }
+
+ protected void onFinishInflate()
+ {
+ super.onFinishInflate();
+
+ for(int i = 0; i < DIGITS_NAME.size(); i++)
+ {
+ Button b = (Button) findViewById(DIGITS_NAME.keyAt(i));
+ b.setText(DIGITS_NAME.valueAt(i));
+ b.setOnClickListener(this);
+ }
+ }
+
+ public void setEditText(EditText editText)
+ {
+ mEditText = editText;
+ }
+
+ @Override
+ public void onClick(View v)
+ {
+ Log.i(TAG, "Clicked " + ((Button)v).getText().toString() );
+ Editable edit = mEditText.getText();
+ edit.append(((Button)v).getText());
+ }
+}