Display contacts regulary during fetch + fixed warnings
This commit is contained in:
parent
afd12250bf
commit
49c98c9ebd
12 changed files with 118 additions and 101 deletions
|
@ -21,7 +21,6 @@ package org.linphone;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.core.LinphoneAddress;
|
import org.linphone.core.LinphoneAddress;
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
import org.linphone.core.LinphoneCall.State;
|
import org.linphone.core.LinphoneCall.State;
|
||||||
|
@ -32,12 +31,9 @@ import org.linphone.mediastream.Log;
|
||||||
import org.linphone.ui.LinphoneSliders.LinphoneSliderTriggered;
|
import org.linphone.ui.LinphoneSliders.LinphoneSliderTriggered;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.PowerManager;
|
|
||||||
import android.support.v4.app.ActivityCompat;
|
import android.support.v4.app.ActivityCompat;
|
||||||
import android.view.KeyEvent;
|
import android.view.KeyEvent;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
@ -88,8 +84,6 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin
|
||||||
int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
|
int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON;
|
||||||
getWindow().addFlags(flags);
|
getWindow().addFlags(flags);
|
||||||
|
|
||||||
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
|
||||||
|
|
||||||
final int screenWidth = getResources().getDisplayMetrics().widthPixels;
|
final int screenWidth = getResources().getDisplayMetrics().widthPixels;
|
||||||
|
|
||||||
acceptUnlock = (LinearLayout) findViewById(R.id.acceptUnlock);
|
acceptUnlock = (LinearLayout) findViewById(R.id.acceptUnlock);
|
||||||
|
|
|
@ -30,7 +30,6 @@ import org.linphone.core.Reason;
|
||||||
import org.linphone.mediastream.Log;
|
import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
|
@ -30,7 +30,6 @@ import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.graphics.Typeface;
|
import android.graphics.Typeface;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.ContextMenu;
|
import android.view.ContextMenu;
|
||||||
|
@ -228,7 +227,8 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContactsUpdated() {
|
public void onContactsUpdated() {
|
||||||
hideAndDisplayMessageIfNoChat();
|
ChatListAdapter adapter = (ChatListAdapter)chatList.getAdapter();
|
||||||
|
adapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -27,7 +27,6 @@ import java.util.Map;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.Editable;
|
import android.text.Editable;
|
||||||
import android.text.TextWatcher;
|
import android.text.TextWatcher;
|
||||||
|
@ -411,7 +410,15 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContactsUpdated() {
|
public void onContactsUpdated() {
|
||||||
invalidate();
|
ContactsListAdapter adapter = (ContactsListAdapter)contactsList.getAdapter();
|
||||||
|
contactsList.setFastScrollEnabled(false);
|
||||||
|
if (onlyDisplayLinphoneContacts) {
|
||||||
|
adapter.updateDataSet(ContactsManager.getInstance().getSIPContacts());
|
||||||
|
} else {
|
||||||
|
adapter.updateDataSet(ContactsManager.getInstance().getContacts());
|
||||||
|
}
|
||||||
|
contactsList.setFastScrollEnabled(true);
|
||||||
|
contactsFetchInProgress.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void invalidate() {
|
public void invalidate() {
|
||||||
|
@ -452,6 +459,10 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O
|
||||||
Map<String, Integer>map = new LinkedHashMap<String, Integer>();
|
Map<String, Integer>map = new LinkedHashMap<String, Integer>();
|
||||||
|
|
||||||
ContactsListAdapter(List<LinphoneContact> contactsList) {
|
ContactsListAdapter(List<LinphoneContact> contactsList) {
|
||||||
|
updateDataSet(contactsList);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void updateDataSet(List<LinphoneContact> contactsList) {
|
||||||
contacts = contactsList;
|
contacts = contactsList;
|
||||||
|
|
||||||
map = new LinkedHashMap<String, Integer>();
|
map = new LinkedHashMap<String, Integer>();
|
||||||
|
@ -471,6 +482,8 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O
|
||||||
sectionsList = new ArrayList<String>(map.keySet());
|
sectionsList = new ArrayList<String>(map.keySet());
|
||||||
sections = new String[sectionsList.size()];
|
sections = new String[sectionsList.size()];
|
||||||
sectionsList.toArray(sections);
|
sectionsList.toArray(sections);
|
||||||
|
|
||||||
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getCount() {
|
public int getCount() {
|
||||||
|
|
|
@ -40,6 +40,7 @@ import android.accounts.AccountManager;
|
||||||
import android.content.ContentProviderOperation;
|
import android.content.ContentProviderOperation;
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.pm.PackageManager;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.database.Cursor;
|
import android.database.Cursor;
|
||||||
import android.database.MatrixCursor;
|
import android.database.MatrixCursor;
|
||||||
|
@ -58,6 +59,7 @@ interface ContactsUpdatedListener {
|
||||||
}
|
}
|
||||||
|
|
||||||
public class ContactsManager extends ContentObserver {
|
public class ContactsManager extends ContentObserver {
|
||||||
|
public static int CONTACTS_STEP = 15;
|
||||||
private static ContactsManager instance;
|
private static ContactsManager instance;
|
||||||
private List<LinphoneContact> contacts, sipContacts;
|
private List<LinphoneContact> contacts, sipContacts;
|
||||||
private boolean preferLinphoneContacts = false, isContactPresenceDisabled = true, hasContactAccess = false;
|
private boolean preferLinphoneContacts = false, isContactPresenceDisabled = true, hasContactAccess = false;
|
||||||
|
@ -180,7 +182,8 @@ public class ContactsManager extends ContentObserver {
|
||||||
if (context == null)
|
if (context == null)
|
||||||
return false;
|
return false;
|
||||||
int contacts = context.getPackageManager().checkPermission(android.Manifest.permission.READ_CONTACTS, context.getPackageName());
|
int contacts = context.getPackageManager().checkPermission(android.Manifest.permission.READ_CONTACTS, context.getPackageName());
|
||||||
return contacts == context.getPackageManager().PERMISSION_GRANTED && !context.getResources().getBoolean(R.bool.force_use_of_linphone_friends);
|
context.getPackageManager();
|
||||||
|
return contacts == PackageManager.PERMISSION_GRANTED && !context.getResources().getBoolean(R.bool.force_use_of_linphone_friends);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLinphoneContactsPrefered(boolean isPrefered) {
|
public void setLinphoneContactsPrefered(boolean isPrefered) {
|
||||||
|
@ -217,7 +220,7 @@ public class ContactsManager extends ContentObserver {
|
||||||
initializeContactManager(context, contentResolver);
|
initializeContactManager(context, contentResolver);
|
||||||
}
|
}
|
||||||
|
|
||||||
public LinphoneContact findContactFromAddress(LinphoneAddress address) {
|
public synchronized LinphoneContact findContactFromAddress(LinphoneAddress address) {
|
||||||
String sipUri = address.asStringUriOnly();
|
String sipUri = address.asStringUriOnly();
|
||||||
String username = address.getUserName();
|
String username = address.getUserName();
|
||||||
|
|
||||||
|
@ -251,7 +254,7 @@ public class ContactsManager extends ContentObserver {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public LinphoneContact findContactFromPhoneNumber(String phoneNumber) {
|
public synchronized LinphoneContact findContactFromPhoneNumber(String phoneNumber) {
|
||||||
LinphoneContact cache = contactsCache.get(phoneNumber);
|
LinphoneContact cache = contactsCache.get(phoneNumber);
|
||||||
if (cache != null) {
|
if (cache != null) {
|
||||||
if (cache == contactNotFound) return null;
|
if (cache == contactNotFound) return null;
|
||||||
|
@ -355,9 +358,17 @@ public class ContactsManager extends ContentObserver {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
for (LinphoneContact contact : contacts) {
|
for (LinphoneContact contact : contacts) {
|
||||||
// This will only get name & picture informations to be able to quickly display contacts list
|
// This will only get name & picture informations to be able to quickly display contacts list
|
||||||
contact.minimalRefresh();
|
contact.minimalRefresh();
|
||||||
|
i++;
|
||||||
|
|
||||||
|
if (i == CONTACTS_STEP) {
|
||||||
|
i = 0;
|
||||||
|
publishProgress(contacts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Collections.sort(contacts);
|
Collections.sort(contacts);
|
||||||
|
|
||||||
|
@ -384,9 +395,9 @@ public class ContactsManager extends ContentObserver {
|
||||||
return contacts;
|
return contacts;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onProgressUpdate(List<LinphoneContact>... result) {
|
protected synchronized void onProgressUpdate(List<LinphoneContact>... result) {
|
||||||
contactsCache.clear();
|
|
||||||
setContacts(result[0]);
|
setContacts(result[0]);
|
||||||
|
contactsCache.clear();
|
||||||
for (ContactsUpdatedListener listener : contactsUpdatedListeners) {
|
for (ContactsUpdatedListener listener : contactsUpdatedListeners) {
|
||||||
listener.onContactsUpdated();
|
listener.onContactsUpdated();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
package org.linphone;
|
package org.linphone;
|
||||||
|
|
||||||
|
import org.linphone.core.LinphoneCore;
|
||||||
|
import org.linphone.core.LinphoneCoreFactory;
|
||||||
|
import org.linphone.mediastream.Log;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.PowerManager;
|
import android.os.PowerManager;
|
||||||
|
|
||||||
import org.linphone.core.LinphoneCore;
|
|
||||||
import org.linphone.core.LinphoneCoreFactory;
|
|
||||||
import org.linphone.mediastream.Log;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Purpose of this receiver is to disable keep alives when device is on idle
|
* Purpose of this receiver is to disable keep alives when device is on idle
|
||||||
* */
|
* */
|
||||||
|
@ -24,7 +24,7 @@ public class DozeReceiver extends android.content.BroadcastReceiver {
|
||||||
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull();
|
||||||
if (lc == null) return;
|
if (lc == null) return;
|
||||||
|
|
||||||
pm = (PowerManager) context.getSystemService(context.POWER_SERVICE);
|
pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
boolean dozeM = pm.isDeviceIdleMode();
|
boolean dozeM = pm.isDeviceIdleMode();
|
||||||
Log.i("[DozeReceiver] Idle Mode: " + dozeM);
|
Log.i("[DozeReceiver] Idle Mode: " + dozeM);
|
||||||
|
|
|
@ -30,10 +30,9 @@ import org.linphone.core.LinphoneCallLog.CallStatus;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import android.annotation.SuppressLint;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
@ -222,7 +221,8 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onContactsUpdated() {
|
public void onContactsUpdated() {
|
||||||
historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext()));
|
CallHistoryAdapter adapter = (CallHistoryAdapter)historyList.getAdapter();
|
||||||
|
adapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -18,35 +18,23 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
package org.linphone;
|
package org.linphone;
|
||||||
|
|
||||||
import android.annotation.SuppressLint;
|
import static android.media.AudioManager.MODE_RINGTONE;
|
||||||
import android.annotation.TargetApi;
|
import static android.media.AudioManager.STREAM_RING;
|
||||||
import android.app.AlertDialog;
|
import static android.media.AudioManager.STREAM_VOICE_CALL;
|
||||||
import android.app.Dialog;
|
|
||||||
import android.app.ProgressDialog;
|
import java.io.ByteArrayInputStream;
|
||||||
import android.content.BroadcastReceiver;
|
import java.io.File;
|
||||||
import android.content.ContentResolver;
|
import java.io.FileInputStream;
|
||||||
import android.content.Context;
|
import java.io.FileOutputStream;
|
||||||
import android.content.Intent;
|
import java.io.IOException;
|
||||||
import android.content.IntentFilter;
|
import java.io.InputStream;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import java.nio.ByteBuffer;
|
||||||
import android.content.res.Resources;
|
import java.sql.Timestamp;
|
||||||
import android.media.AudioManager;
|
import java.util.ArrayList;
|
||||||
import android.media.MediaPlayer;
|
import java.util.Date;
|
||||||
import android.net.ConnectivityManager;
|
import java.util.List;
|
||||||
import android.net.NetworkInfo;
|
import java.util.Timer;
|
||||||
import android.net.Uri;
|
import java.util.TimerTask;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Handler;
|
|
||||||
import android.os.PowerManager;
|
|
||||||
import android.os.PowerManager.WakeLock;
|
|
||||||
import android.os.Vibrator;
|
|
||||||
import android.preference.CheckBoxPreference;
|
|
||||||
import android.provider.Settings;
|
|
||||||
import android.provider.Settings.SettingNotFoundException;
|
|
||||||
import android.telephony.TelephonyManager;
|
|
||||||
import android.view.View;
|
|
||||||
import android.widget.Button;
|
|
||||||
import android.widget.Toast;
|
|
||||||
|
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.core.CallDirection;
|
import org.linphone.core.CallDirection;
|
||||||
|
@ -91,23 +79,35 @@ import org.linphone.mediastream.video.capture.hwconf.Hacks;
|
||||||
import org.linphone.tools.H264Helper;
|
import org.linphone.tools.H264Helper;
|
||||||
import org.linphone.tools.OpenH264DownloadHelper;
|
import org.linphone.tools.OpenH264DownloadHelper;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import android.annotation.SuppressLint;
|
||||||
import java.io.File;
|
import android.annotation.TargetApi;
|
||||||
import java.io.FileInputStream;
|
import android.app.AlertDialog;
|
||||||
import java.io.FileOutputStream;
|
import android.app.Dialog;
|
||||||
import java.io.IOException;
|
import android.app.ProgressDialog;
|
||||||
import java.io.InputStream;
|
import android.content.BroadcastReceiver;
|
||||||
import java.nio.ByteBuffer;
|
import android.content.ContentResolver;
|
||||||
import java.sql.Timestamp;
|
import android.content.Context;
|
||||||
import java.util.ArrayList;
|
import android.content.Intent;
|
||||||
import java.util.Date;
|
import android.content.IntentFilter;
|
||||||
import java.util.List;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
import java.util.Timer;
|
import android.content.res.Resources;
|
||||||
import java.util.TimerTask;
|
import android.media.AudioManager;
|
||||||
|
import android.media.MediaPlayer;
|
||||||
import static android.media.AudioManager.MODE_RINGTONE;
|
import android.net.ConnectivityManager;
|
||||||
import static android.media.AudioManager.STREAM_RING;
|
import android.net.NetworkInfo;
|
||||||
import static android.media.AudioManager.STREAM_VOICE_CALL;
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
|
import android.os.Handler;
|
||||||
|
import android.os.PowerManager;
|
||||||
|
import android.os.PowerManager.WakeLock;
|
||||||
|
import android.os.Vibrator;
|
||||||
|
import android.preference.CheckBoxPreference;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.provider.Settings.SettingNotFoundException;
|
||||||
|
import android.telephony.TelephonyManager;
|
||||||
|
import android.view.View;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -193,7 +193,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag
|
||||||
mPendingChatFileMessage = new ArrayList<LinphoneChatMessage>();
|
mPendingChatFileMessage = new ArrayList<LinphoneChatMessage>();
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
|
||||||
dozeModeEnabled = ((PowerManager)c.getSystemService(c.POWER_SERVICE)).isDeviceIdleMode();
|
dozeModeEnabled = ((PowerManager)c.getSystemService(Context.POWER_SERVICE)).isDeviceIdleMode();
|
||||||
} else {
|
} else {
|
||||||
dozeModeEnabled = false;
|
dozeModeEnabled = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,6 @@ import java.util.Locale;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
import java.util.zip.ZipOutputStream;
|
import java.util.zip.ZipOutputStream;
|
||||||
|
|
||||||
import org.linphone.assistant.AssistantActivity;
|
|
||||||
import org.linphone.core.DialPlan;
|
import org.linphone.core.DialPlan;
|
||||||
import org.linphone.core.LinphoneAccountCreator;
|
import org.linphone.core.LinphoneAccountCreator;
|
||||||
import org.linphone.core.LinphoneAddress;
|
import org.linphone.core.LinphoneAddress;
|
||||||
|
@ -58,7 +57,6 @@ import org.linphone.mediastream.video.capture.hwconf.Hacks;
|
||||||
|
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
|
||||||
import android.content.ContentResolver;
|
import android.content.ContentResolver;
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
|
@ -22,7 +22,6 @@ import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
import org.linphone.assistant.AssistantActivity;
|
import org.linphone.assistant.AssistantActivity;
|
||||||
import org.linphone.core.LinphoneAccountCreator;
|
|
||||||
import org.linphone.core.LinphoneCall;
|
import org.linphone.core.LinphoneCall;
|
||||||
import org.linphone.core.LinphoneCallParams;
|
import org.linphone.core.LinphoneCallParams;
|
||||||
import org.linphone.core.LinphoneCallStats;
|
import org.linphone.core.LinphoneCallStats;
|
||||||
|
@ -442,6 +441,7 @@ public class StatusFragment extends Fragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("deprecation")
|
||||||
private void formatText(TextView tv, String name, String value) {
|
private void formatText(TextView tv, String name, String value) {
|
||||||
tv.setText(Html.fromHtml("<b>" + name + " </b>" + value));
|
tv.setText(Html.fromHtml("<b>" + name + " </b>" + value));
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,21 +18,17 @@ along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import android.app.AlarmManager;
|
import java.util.ArrayList;
|
||||||
import android.app.PendingIntent;
|
import java.util.Arrays;
|
||||||
import android.view.LayoutInflater;
|
import java.util.List;
|
||||||
import android.view.ViewGroup;
|
|
||||||
import android.widget.*;
|
|
||||||
import org.json.JSONArray;
|
|
||||||
import org.json.JSONException;
|
|
||||||
import org.json.JSONObject;
|
|
||||||
import org.linphone.LinphoneActivity;
|
import org.linphone.LinphoneActivity;
|
||||||
import org.linphone.LinphoneLauncherActivity;
|
import org.linphone.LinphoneLauncherActivity;
|
||||||
import org.linphone.LinphoneManager;
|
import org.linphone.LinphoneManager;
|
||||||
import org.linphone.LinphonePreferences;
|
import org.linphone.LinphonePreferences;
|
||||||
|
import org.linphone.LinphonePreferences.AccountBuilder;
|
||||||
import org.linphone.LinphoneService;
|
import org.linphone.LinphoneService;
|
||||||
import org.linphone.LinphoneUtils;
|
import org.linphone.LinphoneUtils;
|
||||||
import org.linphone.LinphonePreferences.AccountBuilder;
|
|
||||||
import org.linphone.R;
|
import org.linphone.R;
|
||||||
import org.linphone.StatusFragment;
|
import org.linphone.StatusFragment;
|
||||||
import org.linphone.core.DialPlan;
|
import org.linphone.core.DialPlan;
|
||||||
|
@ -51,10 +47,12 @@ import org.linphone.tools.OpenH264DownloadHelper;
|
||||||
|
|
||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
|
import android.app.AlarmManager;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.app.FragmentTransaction;
|
import android.app.FragmentTransaction;
|
||||||
|
import android.app.PendingIntent;
|
||||||
import android.app.ProgressDialog;
|
import android.app.ProgressDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
|
@ -67,14 +65,18 @@ import android.os.Bundle;
|
||||||
import android.support.v4.app.ActivityCompat;
|
import android.support.v4.app.ActivityCompat;
|
||||||
import android.support.v4.content.ContextCompat;
|
import android.support.v4.content.ContextCompat;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
|
import android.view.ViewGroup;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.inputmethod.InputMethodManager;
|
import android.view.inputmethod.InputMethodManager;
|
||||||
|
import android.widget.BaseAdapter;
|
||||||
import java.util.ArrayList;
|
import android.widget.Filter;
|
||||||
import java.util.Arrays;
|
import android.widget.Filterable;
|
||||||
import java.util.List;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
|
|
|
@ -17,6 +17,18 @@ You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import org.linphone.LinphoneManager;
|
||||||
|
import org.linphone.LinphonePreferences;
|
||||||
|
import org.linphone.LinphoneUtils;
|
||||||
|
import org.linphone.R;
|
||||||
|
import org.linphone.compatibility.Compatibility;
|
||||||
|
import org.linphone.core.DialPlan;
|
||||||
|
import org.linphone.core.LinphoneAccountCreator;
|
||||||
|
import org.linphone.core.LinphoneCoreFactory;
|
||||||
|
import org.linphone.core.LinphoneProxyConfig;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.Fragment;
|
import android.app.Fragment;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -38,18 +50,6 @@ import android.widget.ImageView;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import org.linphone.LinphoneManager;
|
|
||||||
import org.linphone.LinphonePreferences;
|
|
||||||
import org.linphone.LinphoneUtils;
|
|
||||||
import org.linphone.R;
|
|
||||||
import org.linphone.compatibility.Compatibility;
|
|
||||||
import org.linphone.core.DialPlan;
|
|
||||||
import org.linphone.core.LinphoneAccountCreator;
|
|
||||||
import org.linphone.core.LinphoneCoreFactory;
|
|
||||||
import org.linphone.core.LinphoneProxyConfig;
|
|
||||||
|
|
||||||
import java.util.Locale;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Sylvain Berfini
|
* @author Sylvain Berfini
|
||||||
*/
|
*/
|
||||||
|
@ -62,7 +62,7 @@ public class LinphoneLoginFragment extends Fragment implements CompoundButton.On
|
||||||
private Boolean recoverAccount;
|
private Boolean recoverAccount;
|
||||||
private LinphoneAccountCreator accountCreator;
|
private LinphoneAccountCreator accountCreator;
|
||||||
private int countryCode;
|
private int countryCode;
|
||||||
private String username, phone, dialcode;
|
private String phone, dialcode;
|
||||||
private ImageView phoneNumberInfo;
|
private ImageView phoneNumberInfo;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in a new issue