diff options
author | Dianne Hackborn <hackbod@google.com> | 2010-02-24 19:54:22 -0800 |
---|---|---|
committer | Dianne Hackborn <hackbod@google.com> | 2010-02-25 11:39:33 -0800 |
commit | 2269d1572e5fcfb725ea55f5764d8c3280d69f6d (patch) | |
tree | 7ce0788be6d85972d42ee7135cdce82aa323fcc7 /telephony/java | |
parent | e46145f7c114b9ac6d19c6a7886e9239463f91e1 (diff) | |
download | frameworks_base-2269d1572e5fcfb725ea55f5764d8c3280d69f6d.zip frameworks_base-2269d1572e5fcfb725ea55f5764d8c3280d69f6d.tar.gz frameworks_base-2269d1572e5fcfb725ea55f5764d8c3280d69f6d.tar.bz2 |
Re-arrange android-common so framework no longer links with it.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
Diffstat (limited to 'telephony/java')
5 files changed, 150 insertions, 5 deletions
diff --git a/telephony/java/com/android/internal/telephony/IccProvider.java b/telephony/java/com/android/internal/telephony/IccProvider.java index 4232887..fa91457 100644 --- a/telephony/java/com/android/internal/telephony/IccProvider.java +++ b/telephony/java/com/android/internal/telephony/IccProvider.java @@ -19,8 +19,9 @@ package com.android.internal.telephony; import android.content.ContentProvider; import android.content.UriMatcher; import android.content.ContentValues; -import com.android.common.ArrayListCursor; +import android.database.AbstractCursor; import android.database.Cursor; +import android.database.CursorWindow; import android.net.Uri; import android.os.SystemProperties; import android.os.RemoteException; @@ -35,6 +36,149 @@ import com.android.internal.telephony.IccConstants; import com.android.internal.telephony.AdnRecord; import com.android.internal.telephony.IIccPhoneBook; +/** + * XXX old code -- should be replaced with MatrixCursor. + * @deprecated This is has been replaced by MatrixCursor. +*/ +class ArrayListCursor extends AbstractCursor { + private String[] mColumnNames; + private ArrayList<Object>[] mRows; + + @SuppressWarnings({"unchecked"}) + public ArrayListCursor(String[] columnNames, ArrayList<ArrayList> rows) { + int colCount = columnNames.length; + boolean foundID = false; + // Add an _id column if not in columnNames + for (int i = 0; i < colCount; ++i) { + if (columnNames[i].compareToIgnoreCase("_id") == 0) { + mColumnNames = columnNames; + foundID = true; + break; + } + } + + if (!foundID) { + mColumnNames = new String[colCount + 1]; + System.arraycopy(columnNames, 0, mColumnNames, 0, columnNames.length); + mColumnNames[colCount] = "_id"; + } + + int rowCount = rows.size(); + mRows = new ArrayList[rowCount]; + + for (int i = 0; i < rowCount; ++i) { + mRows[i] = rows.get(i); + if (!foundID) { + mRows[i].add(i); + } + } + } + + @Override + public void fillWindow(int position, CursorWindow window) { + if (position < 0 || position > getCount()) { + return; + } + + window.acquireReference(); + try { + int oldpos = mPos; + mPos = position - 1; + window.clear(); + window.setStartPosition(position); + int columnNum = getColumnCount(); + window.setNumColumns(columnNum); + while (moveToNext() && window.allocRow()) { + for (int i = 0; i < columnNum; i++) { + final Object data = mRows[mPos].get(i); + if (data != null) { + if (data instanceof byte[]) { + byte[] field = (byte[]) data; + if (!window.putBlob(field, mPos, i)) { + window.freeLastRow(); + break; + } + } else { + String field = data.toString(); + if (!window.putString(field, mPos, i)) { + window.freeLastRow(); + break; + } + } + } else { + if (!window.putNull(mPos, i)) { + window.freeLastRow(); + break; + } + } + } + } + + mPos = oldpos; + } catch (IllegalStateException e){ + // simply ignore it + } finally { + window.releaseReference(); + } + } + + @Override + public int getCount() { + return mRows.length; + } + + @Override + public String[] getColumnNames() { + return mColumnNames; + } + + @Override + public byte[] getBlob(int columnIndex) { + return (byte[]) mRows[mPos].get(columnIndex); + } + + @Override + public String getString(int columnIndex) { + Object cell = mRows[mPos].get(columnIndex); + return (cell == null) ? null : cell.toString(); + } + + @Override + public short getShort(int columnIndex) { + Number num = (Number) mRows[mPos].get(columnIndex); + return num.shortValue(); + } + + @Override + public int getInt(int columnIndex) { + Number num = (Number) mRows[mPos].get(columnIndex); + return num.intValue(); + } + + @Override + public long getLong(int columnIndex) { + Number num = (Number) mRows[mPos].get(columnIndex); + return num.longValue(); + } + + @Override + public float getFloat(int columnIndex) { + Number num = (Number) mRows[mPos].get(columnIndex); + return num.floatValue(); + } + + @Override + public double getDouble(int columnIndex) { + Number num = (Number) mRows[mPos].get(columnIndex); + return num.doubleValue(); + } + + @Override + public boolean isNull(int columnIndex) { + return mRows[mPos].get(columnIndex) == null; + } +} + /** * {@hide} diff --git a/telephony/java/com/android/internal/telephony/cdma/EriManager.java b/telephony/java/com/android/internal/telephony/cdma/EriManager.java index 0e186d0..37c1d55 100644 --- a/telephony/java/com/android/internal/telephony/cdma/EriManager.java +++ b/telephony/java/com/android/internal/telephony/cdma/EriManager.java @@ -23,8 +23,8 @@ import android.util.Xml; import com.android.internal.telephony.Phone; import com.android.internal.telephony.PhoneBase; +import com.android.internal.util.XmlUtils; -import com.android.common.XmlUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; diff --git a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java index 905d5e3..d893ec4 100644 --- a/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java +++ b/telephony/java/com/android/internal/telephony/gsm/GsmDataConnection.java @@ -18,8 +18,8 @@ package com.android.internal.telephony.gsm; import android.os.Message; import android.util.Log; +import android.util.Patterns; -import com.android.common.Patterns; import com.android.internal.telephony.DataConnection; import com.android.internal.telephony.Phone; import com.android.internal.telephony.RILConstants; diff --git a/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java b/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java index abb0230..9ea30101 100644 --- a/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java +++ b/telephony/java/com/android/internal/telephony/gsm/SpnOverride.java @@ -13,7 +13,7 @@ import android.os.Environment; import android.util.Log; import android.util.Xml; -import com.android.common.XmlUtils; +import com.android.internal.util.XmlUtils; public class SpnOverride { private HashMap<String, String> CarrierSpnMap; diff --git a/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java b/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java index 0bedd53..0e49e35 100644 --- a/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java +++ b/telephony/java/com/android/internal/telephony/gsm/VoiceMailConstants.java @@ -28,7 +28,8 @@ import java.io.IOException; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; -import com.android.common.XmlUtils; + +import com.android.internal.util.XmlUtils; /** * {@hide} |