diff --git a/AndroidManifest.xml b/AndroidManifest.xml index ae3a76605..dc4f1cfc2 100755 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -70,7 +70,7 @@ android:label="@string/app_name" android:largeHeap="true"> @@ -129,7 +129,7 @@ @@ -137,7 +137,7 @@ @@ -145,7 +145,7 @@ @@ -228,16 +228,16 @@ android:resource="@xml/authenticator"/> - + - + @@ -245,22 +245,22 @@ - + - + - + - @@ -286,7 +286,7 @@ --> @@ -314,49 +314,7 @@ android:resource="@xml/provider_paths"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + \ No newline at end of file diff --git a/res/layout-land/call.xml b/res/layout-land/call.xml index 1d4b34bd8..819a85c20 100644 --- a/res/layout-land/call.xml +++ b/res/layout-land/call.xml @@ -483,7 +483,7 @@ diff --git a/res/layout-land/call_incoming.xml b/res/layout-land/call_incoming.xml index 9cfa115f6..06e5e481b 100644 --- a/res/layout-land/call_incoming.xml +++ b/res/layout-land/call_incoming.xml @@ -8,7 +8,7 @@ diff --git a/res/layout-land/call_outgoing.xml b/res/layout-land/call_outgoing.xml index 96285f7c9..656abcbeb 100644 --- a/res/layout-land/call_outgoing.xml +++ b/res/layout-land/call_outgoing.xml @@ -8,7 +8,7 @@ diff --git a/res/layout-land/main.xml b/res/layout-land/main.xml index 7a1500805..1e0cfe7c7 100644 --- a/res/layout-land/main.xml +++ b/res/layout-land/main.xml @@ -7,7 +7,7 @@ diff --git a/res/layout-sw533dp-land/call.xml b/res/layout-sw533dp-land/call.xml index 5de923dec..0000828cf 100644 --- a/res/layout-sw533dp-land/call.xml +++ b/res/layout-sw533dp-land/call.xml @@ -7,7 +7,7 @@ diff --git a/res/layout-sw533dp-land/call_incoming.xml b/res/layout-sw533dp-land/call_incoming.xml index 0b1da0e18..f8811ca71 100644 --- a/res/layout-sw533dp-land/call_incoming.xml +++ b/res/layout-sw533dp-land/call_incoming.xml @@ -8,7 +8,7 @@ diff --git a/res/layout-sw533dp-land/call_outgoing.xml b/res/layout-sw533dp-land/call_outgoing.xml index 64f02eebe..4d1b0cdd7 100644 --- a/res/layout-sw533dp-land/call_outgoing.xml +++ b/res/layout-sw533dp-land/call_outgoing.xml @@ -8,7 +8,7 @@ diff --git a/res/layout-sw533dp-land/main.xml b/res/layout-sw533dp-land/main.xml index 1b70202a7..737eb56a0 100644 --- a/res/layout-sw533dp-land/main.xml +++ b/res/layout-sw533dp-land/main.xml @@ -7,7 +7,7 @@ diff --git a/res/layout-sw533dp/main.xml b/res/layout-sw533dp/main.xml index b62e7bdc6..a14d68b35 100644 --- a/res/layout-sw533dp/main.xml +++ b/res/layout-sw533dp/main.xml @@ -7,7 +7,7 @@ diff --git a/res/layout/assistant.xml b/res/layout/assistant.xml index 719a74335..fac6e0303 100644 --- a/res/layout/assistant.xml +++ b/res/layout/assistant.xml @@ -8,7 +8,7 @@ diff --git a/res/layout/call.xml b/res/layout/call.xml index 8376a1909..e88dc6bb2 100644 --- a/res/layout/call.xml +++ b/res/layout/call.xml @@ -477,7 +477,7 @@ diff --git a/res/layout/call_incoming.xml b/res/layout/call_incoming.xml index f5db7f08d..4fec8bc8e 100644 --- a/res/layout/call_incoming.xml +++ b/res/layout/call_incoming.xml @@ -8,7 +8,7 @@ diff --git a/res/layout/call_outgoing.xml b/res/layout/call_outgoing.xml index a37547ca3..654d88384 100644 --- a/res/layout/call_outgoing.xml +++ b/res/layout/call_outgoing.xml @@ -8,7 +8,7 @@ diff --git a/res/layout/in_app.xml b/res/layout/in_app.xml index 69b6562b7..64e33a927 100644 --- a/res/layout/in_app.xml +++ b/res/layout/in_app.xml @@ -8,7 +8,7 @@ diff --git a/res/layout/main.xml b/res/layout/main.xml index 3656b91a0..b64498d52 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -7,7 +7,7 @@ diff --git a/src/android/org/linphone/GroupContactsListAdapter.java b/src/android/org/linphone/GroupContactsListAdapter.java deleted file mode 100644 index 31eef9dde..000000000 --- a/src/android/org/linphone/GroupContactsListAdapter.java +++ /dev/null @@ -1,94 +0,0 @@ -package org.linphone; - -/* -GroupContactsListAdapter.java -Copyright (C) 2017 Belledonne Communications, Grenoble, France - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.BaseAdapter; -import android.widget.ImageView; -import android.widget.TextView; - -import java.util.List; - -public class GroupContactsListAdapter extends BaseAdapter { - private class ViewHolder { - public TextView name; - public TextView admin; - public ImageView linphoneContact; - public ImageView isAdmin; - public ImageView photo; - - public ViewHolder(View view) { - name = (TextView) view.findViewById(R.id.sip_uri); - linphoneContact = (ImageView) view.findViewById(R.id.contact_linphone); - isAdmin = (ImageView) view.findViewById(R.id.contact_is_select); - admin = (TextView) view.findViewById(R.id.admin); - photo = (ImageView) view.findViewById(R.id.contact_picture); - } - } - - public List getGroupContacts() { - return groupContacts; - } - - public void setGroupContacts(List groupContacts) { - this.groupContacts = groupContacts; - } - - private List groupContacts; - private LayoutInflater mInflater; - - public GroupContactsListAdapter(LayoutInflater inf) { - mInflater = inf; - } - - @Override - public int getCount() { - return groupContacts.size(); - } - - @Override - public Object getItem(int i) { - return groupContacts.get(i); - } - - @Override - public long getItemId(int i) { - return i; - } - - @Override - public View getView(int i, View convertView, ViewGroup parent) { - View view; - ViewHolder holder; - - if (convertView != null) { - view = convertView; - holder = (ViewHolder) view.getTag(); - } else { - view = mInflater.inflate(R.layout.search_contact_cell, parent, false); - holder = new ViewHolder(view); - view.setTag(holder); - } - - return view; - } -} diff --git a/src/android/org/linphone/LinphoneException.java b/src/android/org/linphone/LinphoneException.java deleted file mode 100644 index aacc3bd7c..000000000 --- a/src/android/org/linphone/LinphoneException.java +++ /dev/null @@ -1,38 +0,0 @@ -package org.linphone; - -/* -CoreException.java -Copyright (C) 2017 Belledonne Communications, Grenoble, France - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -@SuppressWarnings("serial") -public class LinphoneException extends Exception { - - public LinphoneException() {} - - public LinphoneException(String detailMessage) { - super(detailMessage); - } - - public LinphoneException(Throwable throwable) { - super(throwable); - } - - public LinphoneException(String detailMessage, Throwable throwable) { - super(detailMessage, throwable); - } -} diff --git a/src/android/org/linphone/LinphoneManager.java b/src/android/org/linphone/LinphoneManager.java index 1963b603f..bee21190d 100644 --- a/src/android/org/linphone/LinphoneManager.java +++ b/src/android/org/linphone/LinphoneManager.java @@ -72,9 +72,14 @@ import android.view.View; import android.widget.Button; import android.widget.Toast; +import org.linphone.call.CallActivity; +import org.linphone.call.CallIncomingActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.assistant.AssistantActivity; +import org.linphone.call.CallManager; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; import org.linphone.core.AccountCreatorListener; -import org.linphone.core.Call.Dir; import org.linphone.core.AccountCreator; import org.linphone.core.Address; import org.linphone.core.AuthInfo; @@ -103,8 +108,6 @@ import org.linphone.core.Event; import org.linphone.core.Friend; import org.linphone.core.FriendList; import org.linphone.core.InfoMessage; -import org.linphone.core.Participant; -import org.linphone.core.PresenceActivity; import org.linphone.core.ProxyConfig; import org.linphone.core.VersionUpdateCheckResult; import org.linphone.core.tools.OpenH264DownloadHelperListener; @@ -123,14 +126,18 @@ import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration. import org.linphone.mediastream.video.capture.hwconf.Hacks; import org.linphone.core.tools.H264Helper; import org.linphone.core.tools.OpenH264DownloadHelper; +import org.linphone.receivers.BluetoothManager; +import org.linphone.receivers.DozeReceiver; +import org.linphone.receivers.HookReceiver; +import org.linphone.receivers.KeepAliveReceiver; +import org.linphone.receivers.NetworkManager; +import org.linphone.receivers.OutgoingCallReceiver; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.net.InetAddress; -import java.nio.ByteBuffer; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; @@ -840,7 +847,7 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso TimerTask lTask = new TimerTask() { @Override public void run() { - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { if (mLc != null) { @@ -889,16 +896,6 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso private synchronized void initLiblinphone(Core lc) throws CoreException { mLc = lc; - - PreferencesMigrator prefMigrator = new PreferencesMigrator(mServiceContext); - prefMigrator.migrateRemoteProvisioningUriIfNeeded(); - prefMigrator.migrateSharingServerUrlIfNeeded(); - prefMigrator.doPresenceMigrationIfNeeded(); - - if (prefMigrator.isMigrationNeeded()) { - prefMigrator.doMigration(); - } - mLc.setZrtpSecretsFile(basePath + "/zrtp_secrets"); try { @@ -981,22 +978,22 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso callGsmON = false; } - protected void setHandsetMode(Boolean on){ - if(mLc.isIncomingInvitePending() && on){ + public void setHandsetMode(Boolean on){ + if (mLc.isIncomingInvitePending() && on) { handsetON = true; mLc.acceptCall(mLc.getCurrentCall()); LinphoneActivity.instance().startIncallActivity(mLc.getCurrentCall()); - }else if(on && CallActivity.isInstanciated()){ + } else if(on && CallActivity.isInstanciated()) { handsetON = true; CallActivity.instance().setSpeakerEnabled(true); CallActivity.instance().refreshInCallActions(); - }else if (!on){ + } else if (!on) { handsetON = false; LinphoneManager.getInstance().terminateCall(); } } - protected boolean isHansetModeOn(){ + public boolean isHansetModeOn(){ return handsetON; } @@ -1834,26 +1831,6 @@ public class LinphoneManager implements CoreListener, ChatMessageListener, Senso callGsmON = on; } - @SuppressWarnings("serial") - public static class ConfigException extends LinphoneException { - - public ConfigException() { - super(); - } - - public ConfigException(String detailMessage, Throwable throwable) { - super(detailMessage, throwable); - } - - public ConfigException(String detailMessage) { - super(detailMessage); - } - - public ConfigException(Throwable throwable) { - super(throwable); - } - } - @Override public void onTransferStateChanged(Core lc, Call call, State new_call_state) { diff --git a/src/android/org/linphone/LinphonePreferences.java b/src/android/org/linphone/LinphonePreferences.java index 54b3a0d05..b2da51682 100644 --- a/src/android/org/linphone/LinphonePreferences.java +++ b/src/android/org/linphone/LinphonePreferences.java @@ -1432,7 +1432,7 @@ public class LinphonePreferences { } public String getActivityToLaunchOnIncomingReceived() { - return getConfig().getString("app", "incoming_call_activity", "org.linphone.LinphoneActivity"); + return getConfig().getString("app", "incoming_call_activity", "org.linphone.activities.LinphoneActivity"); } public void setActivityToLaunchOnIncomingReceived(String name) { diff --git a/src/android/org/linphone/LinphoneService.java b/src/android/org/linphone/LinphoneService.java index 5398c3d64..8c243b05e 100644 --- a/src/android/org/linphone/LinphoneService.java +++ b/src/android/org/linphone/LinphoneService.java @@ -23,7 +23,10 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; +import org.linphone.activities.LinphoneActivity; import org.linphone.compatibility.Compatibility; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.Call.State; @@ -31,13 +34,13 @@ import org.linphone.core.CallLog.CallStatus; import org.linphone.core.Core; import org.linphone.core.Core.GlobalState; import org.linphone.core.Core.RegistrationState; -import org.linphone.core.CoreException; import org.linphone.core.Factory; import org.linphone.core.CoreListenerStub; import org.linphone.core.LogCollectionState; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; +import org.linphone.receivers.KeepAliveReceiver; import org.linphone.ui.LinphoneOverlay; import android.annotation.TargetApi; diff --git a/src/android/org/linphone/LinphoneUtils.java b/src/android/org/linphone/LinphoneUtils.java index 171c9cae2..b4a224d94 100644 --- a/src/android/org/linphone/LinphoneUtils.java +++ b/src/android/org/linphone/LinphoneUtils.java @@ -35,6 +35,8 @@ import android.net.NetworkInfo; import android.net.Uri; import android.os.Build; import android.os.Environment; +import android.os.Handler; +import android.os.Looper; import android.os.ParcelFileDescriptor; import android.provider.MediaStore; import android.provider.MediaStore.Images; @@ -49,8 +51,8 @@ import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import android.widget.TextView; -import android.widget.Toast; +import org.linphone.contacts.ContactsManager; import org.linphone.core.DialPlan; import org.linphone.core.AccountCreator; import org.linphone.core.Address; @@ -58,7 +60,6 @@ import org.linphone.core.Call; import org.linphone.core.Call.State; import org.linphone.core.ChatMessage; import org.linphone.core.Core; -import org.linphone.core.CoreException; import org.linphone.core.Factory; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; @@ -97,8 +98,15 @@ import static android.view.View.VISIBLE; */ public final class LinphoneUtils { private static Context context = null; + private static Handler mHandler = new Handler(Looper.getMainLooper()); - private LinphoneUtils(){} + private LinphoneUtils() { + + } + + public static void dispatchOnUIThread(Runnable r) { + mHandler.post(r); + } //private static final String sipAddressRegExp = "^(sip:)?(\\+)?[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}(:[0-9]{2,5})?$"; //private static final String strictSipAddressRegExp = "^sip:(\\+)?[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}$"; diff --git a/src/android/org/linphone/PreferencesMigrator.java b/src/android/org/linphone/PreferencesMigrator.java deleted file mode 100644 index 507b6fa88..000000000 --- a/src/android/org/linphone/PreferencesMigrator.java +++ /dev/null @@ -1,192 +0,0 @@ -package org.linphone; - -/* -PreferencesMigrator.java -Copyright (C) 2017 Belledonne Communications, Grenoble, France - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -import org.linphone.LinphonePreferences.AccountBuilder; -import org.linphone.core.Core; -import org.linphone.core.CoreException; -import org.linphone.core.ProxyConfig; -import org.linphone.core.Config; -import org.linphone.mediastream.Log; - -import android.content.Context; -import android.content.SharedPreferences; -import android.content.SharedPreferences.Editor; -import android.content.res.Resources; -import android.preference.PreferenceManager; - -public class PreferencesMigrator { - private LinphonePreferences mNewPrefs; - private SharedPreferences mOldPrefs; - private Resources mResources; - - public PreferencesMigrator(Context context) { - mNewPrefs = LinphonePreferences.instance(); - mResources = context.getResources(); - mOldPrefs = PreferenceManager.getDefaultSharedPreferences(context); - } - - public boolean isEchoMigratioNeeded() { - Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - if (lc == null) { - return false; - } - - if (mNewPrefs.isEchoConfigurationUpdated()) { - return false; - } - - return (!lc.isEchoCancellerCalibrationRequired() && mNewPrefs.echoCancellationEnabled()); - } - - public boolean isMigrationNeeded() { - int accountNumber = mOldPrefs.getInt(getString(R.string.pref_extra_accounts), -1); - return accountNumber != -1; - } - - public void doMigration() { - mNewPrefs.firstLaunchSuccessful(); // If migration is needed, it is safe to assume Linphone has already been started once. - mNewPrefs.removePreviousVersionAuthInfoRemoval(); // Remove flag in linphonerc asking core not to store auths infos - - mNewPrefs.setFrontCamAsDefault(getPrefBoolean(R.string.pref_video_use_front_camera_key, true)); - mNewPrefs.setWifiOnlyEnabled(getPrefBoolean(R.string.pref_wifi_only_key, false)); - mNewPrefs.useRandomPort(getPrefBoolean(R.string.pref_transport_use_random_ports_key, true), false); - mNewPrefs.setPushNotificationEnabled(getPrefBoolean(R.string.pref_push_notification_key, false)); - mNewPrefs.setPushNotificationRegistrationID(getPrefString(R.string.push_reg_id_key, null)); - mNewPrefs.setDebugEnabled(getPrefBoolean(R.string.pref_debug_key, false)); - mNewPrefs.setBackgroundModeEnabled(getPrefBoolean(R.string.pref_background_mode_key, true)); - mNewPrefs.setAutoStart(getPrefBoolean(R.string.pref_autostart_key, false)); - mNewPrefs.setSharingPictureServerUrl(getPrefString(R.string.pref_image_sharing_server_key, null)); - mNewPrefs.setRemoteProvisioningUrl(getPrefString(R.string.pref_remote_provisioning_key, null)); - - doAccountsMigration(); - deleteAllOldPreferences(); - } - - public void migrateRemoteProvisioningUriIfNeeded() { - String oldUri = mNewPrefs.getConfig().getString("app", "remote_provisioning", null); - String currentUri = mNewPrefs.getRemoteProvisioningUrl(); - if (oldUri != null && oldUri.length() > 0 && currentUri == null) { - mNewPrefs.setRemoteProvisioningUrl(oldUri); - mNewPrefs.getConfig().setString("app", "remote_provisioning", null); - mNewPrefs.getConfig().sync(); - } - } - - public void migrateSharingServerUrlIfNeeded() { - String currentUrl = mNewPrefs.getConfig().getString("app", "sharing_server", null); - if (currentUrl == null || currentUrl.equals("https://www.linphone.org:444/upload.php")) { - mNewPrefs.setSharingPictureServerUrl("https://www.linphone.org:444/lft.php"); - mNewPrefs.getConfig().sync(); - } - } - - private void doAccountsMigration() { - Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - lc.clearAllAuthInfo(); - lc.clearProxyConfig(); - - for (int i = 0; i < mOldPrefs.getInt(getString(R.string.pref_extra_accounts), 1); i++) { - doAccountMigration(i, i == getPrefInt(R.string.pref_default_account_key, 0)); - } - } - - private void doAccountMigration(int index, boolean isDefaultAccount) { - String key = index == 0 ? "" : String.valueOf(index); - - String username = getPrefString(getString(R.string.pref_username_key) + key, null); - String userid = getPrefString(getString(R.string.pref_auth_userid_key) + key, null); - String password = getPrefString(getString(R.string.pref_passwd_key) + key, null); - String domain = getPrefString(getString(R.string.pref_domain_key) + key, null); - if (username != null && username.length() > 0 && password != null) { - String proxy = getPrefString(getString(R.string.pref_proxy_key) + key, null); - String expire = getPrefString(R.string.pref_expire_key, null); - - AccountBuilder builder = new AccountBuilder(LinphoneManager.getLc()) - .setUsername(username) - .setUserid(userid) - .setDomain(domain) - .setPassword(password) - .setServerAddr(proxy) - .setExpires(expire); - - if (getPrefBoolean(getString(R.string.pref_enable_outbound_proxy_key) + key, false)) { - builder.setOutboundProxyEnabled(true); - } - if (mResources.getBoolean(R.bool.enable_push_id)) { - String regId = mNewPrefs.getPushNotificationRegistrationID(); - String appId = getString(R.string.push_sender_id); - if (regId != null && mNewPrefs.isPushNotificationEnabled()) { - String contactInfos = "app-id=" + appId + ";pn-type=" + getString(R.string.push_type) + ";pn-tok=" + regId; - builder.setContactParameters(contactInfos); - } - } - - try { - builder.saveNewAccount(); - } catch (CoreException e) { - Log.e(e); - } - - if (isDefaultAccount) { - mNewPrefs.setDefaultAccount(index); - } - } - } - - public void doPresenceMigrationIfNeeded() { - Core lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); - Config cfg = lc.getConfig(); - if (cfg.getString("app", "friendlist_subscription_enabled", null) == null){ - ProxyConfig proxy = lc.getDefaultProxyConfig(); - if (proxy != null) { - String domain = proxy.getDomain(); - if (domain!=null && domain.equals(getString(R.string.default_domain))) { - cfg.setBool("app", "friendlist_subscription_enabled", true); - } - } - } - } - - private void deleteAllOldPreferences() { - Editor editor = mOldPrefs.edit(); - editor.clear(); - editor.apply(); - } - - private String getString(int key) { - return mResources.getString(key); - } - private boolean getPrefBoolean(int key, boolean defaultValue) { - return mOldPrefs.getBoolean(mResources.getString(key), defaultValue); - } - private boolean getPrefBoolean(String key, boolean defaultValue) { - return mOldPrefs.getBoolean(key, defaultValue); - } - private String getPrefString(int key, String defaultValue) { - return mOldPrefs.getString(mResources.getString(key), defaultValue); - } - private int getPrefInt(int key, int defaultValue) { - return mOldPrefs.getInt(mResources.getString(key), defaultValue); - } - private String getPrefString(String key, String defaultValue) { - return mOldPrefs.getString(key, defaultValue); - } -} diff --git a/src/android/org/linphone/UIThreadDispatcher.java b/src/android/org/linphone/UIThreadDispatcher.java deleted file mode 100644 index d3e6d36a4..000000000 --- a/src/android/org/linphone/UIThreadDispatcher.java +++ /dev/null @@ -1,31 +0,0 @@ -package org.linphone; - -/* -UIThreadDispatcher.java -Copyright (C) 2017 Belledonne Communications, Grenoble, France - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -*/ - -import android.os.Handler; -import android.os.Looper; - -public class UIThreadDispatcher { - private static Handler mHandler = new Handler(Looper.getMainLooper()); - - public static void dispatch(Runnable r) { - mHandler.post(r); - } -} diff --git a/src/android/org/linphone/LinphoneActivity.java b/src/android/org/linphone/activities/LinphoneActivity.java similarity index 98% rename from src/android/org/linphone/LinphoneActivity.java rename to src/android/org/linphone/activities/LinphoneActivity.java index c808e2bfe..6fb63df29 100644 --- a/src/android/org/linphone/LinphoneActivity.java +++ b/src/android/org/linphone/activities/LinphoneActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.activities; /* LinphoneActivity.java @@ -62,12 +62,37 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import org.linphone.call.CallActivity; +import org.linphone.call.CallIncomingActivity; +import org.linphone.call.CallOutgoingActivity; +import org.linphone.fragments.AboutFragment; +import org.linphone.fragments.AccountPreferencesFragment; +import org.linphone.contacts.ContactAddress; +import org.linphone.contacts.ContactDetailsFragment; +import org.linphone.contacts.ContactEditorFragment; +import org.linphone.contacts.ContactsListFragment; +import org.linphone.contacts.ContactsManager; +import org.linphone.fragments.DialerFragment; +import org.linphone.fragments.EmptyFragment; +import org.linphone.fragments.FragmentsAvailable; +import org.linphone.fragments.HistoryDetailFragment; +import org.linphone.fragments.HistoryListFragment; +import org.linphone.chat.InfoGroupChatFragment; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; import org.linphone.LinphoneManager.AddressType; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.fragments.SettingsFragment; +import org.linphone.fragments.StatusFragment; import org.linphone.assistant.AssistantActivity; import org.linphone.assistant.RemoteProvisioningLoginActivity; import org.linphone.chat.ChatCreationFragment; import org.linphone.chat.ChatFragment; import org.linphone.chat.ChatListFragment; +import org.linphone.chat.GroupChatFragment; import org.linphone.compatibility.Compatibility; import org.linphone.core.Address; import org.linphone.core.AuthInfo; @@ -102,7 +127,7 @@ import java.util.Comparator; import java.util.Date; import java.util.List; -import static org.linphone.LinphoneActivity.ChatRoomContainer.createChatroomContainer; +import static org.linphone.activities.LinphoneActivity.ChatRoomContainer.createChatroomContainer; public class LinphoneActivity extends LinphoneGenericActivity implements OnClickListener, ContactPicked, ActivityCompat.OnRequestPermissionsResultCallback { public static final String PREF_FIRST_LAUNCH = "pref_first_launch"; diff --git a/src/android/org/linphone/LinphoneGenericActivity.java b/src/android/org/linphone/activities/LinphoneGenericActivity.java similarity index 93% rename from src/android/org/linphone/LinphoneGenericActivity.java rename to src/android/org/linphone/activities/LinphoneGenericActivity.java index 916569f7e..b456a831f 100644 --- a/src/android/org/linphone/LinphoneGenericActivity.java +++ b/src/android/org/linphone/activities/LinphoneGenericActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.activities; /* LinphoneGenericActivity.java @@ -22,6 +22,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import android.app.Activity; import android.os.Bundle; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneService; + public class LinphoneGenericActivity extends Activity { @Override diff --git a/src/android/org/linphone/LinphoneLauncherActivity.java b/src/android/org/linphone/activities/LinphoneLauncherActivity.java similarity index 95% rename from src/android/org/linphone/LinphoneLauncherActivity.java rename to src/android/org/linphone/activities/LinphoneLauncherActivity.java index ec8ad85e5..d263bee35 100644 --- a/src/android/org/linphone/LinphoneLauncherActivity.java +++ b/src/android/org/linphone/activities/LinphoneLauncherActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.activities; /* LinphoneLauncherActivity.java @@ -27,7 +27,15 @@ import android.os.Bundle; import android.os.Handler; import android.util.Log; +import org.linphone.receivers.BluetoothManager; +import org.linphone.contacts.ContactsManager; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; import org.linphone.assistant.RemoteProvisioningActivity; +import org.linphone.call.CallActivity; import org.linphone.mediastream.Version; import static android.content.Intent.ACTION_MAIN; diff --git a/src/android/org/linphone/assistant/AssistantActivity.java b/src/android/org/linphone/assistant/AssistantActivity.java index eb81c6a17..ae06db797 100644 --- a/src/android/org/linphone/assistant/AssistantActivity.java +++ b/src/android/org/linphone/assistant/AssistantActivity.java @@ -22,16 +22,16 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import org.linphone.ContactsManager; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneLauncherActivity; +import org.linphone.contacts.ContactsManager; +import org.linphone.activities.LinphoneActivity; +import org.linphone.activities.LinphoneLauncherActivity; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphonePreferences.AccountBuilder; import org.linphone.LinphoneService; import org.linphone.LinphoneUtils; import org.linphone.R; -import org.linphone.StatusFragment; +import org.linphone.fragments.StatusFragment; import org.linphone.core.AccountCreatorListener; import org.linphone.core.DialPlan; import org.linphone.core.AccountCreator; diff --git a/src/android/org/linphone/assistant/CreateAccountFragment.java b/src/android/org/linphone/assistant/CreateAccountFragment.java index 213de7516..71d10bdf5 100644 --- a/src/android/org/linphone/assistant/CreateAccountFragment.java +++ b/src/android/org/linphone/assistant/CreateAccountFragment.java @@ -22,7 +22,7 @@ import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.linphone.LinphoneActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneUtils; @@ -31,7 +31,6 @@ import org.linphone.core.DialPlan; import org.linphone.core.AccountCreator; import org.linphone.core.AccountCreatorListener; import org.linphone.core.AccountCreator.Status; -import org.linphone.core.Factory; import org.linphone.core.ProxyConfig; import android.accounts.Account; diff --git a/src/android/org/linphone/assistant/RemoteProvisioningActivity.java b/src/android/org/linphone/assistant/RemoteProvisioningActivity.java index 9421c52b3..0420fcfc8 100644 --- a/src/android/org/linphone/assistant/RemoteProvisioningActivity.java +++ b/src/android/org/linphone/assistant/RemoteProvisioningActivity.java @@ -22,7 +22,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import java.io.UnsupportedEncodingException; import java.net.URLDecoder; -import org.linphone.LinphoneLauncherActivity; +import org.linphone.activities.LinphoneLauncherActivity; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneService; @@ -189,7 +189,7 @@ public class RemoteProvisioningActivity extends Activity { private void goToLinphoneActivity() { if (LinphoneService.isReady()) { - LinphoneService.instance().setActivityToLaunchOnIncomingReceived("org.linphone.LinphoneLauncherActivity"); + LinphoneService.instance().setActivityToLaunchOnIncomingReceived("org.linphone.activities.LinphoneLauncherActivity"); //finish(); // To prevent the user to come back to this page using back button startActivity(new Intent().setClass(this, LinphoneLauncherActivity.class)); } else { diff --git a/src/android/org/linphone/CallActivity.java b/src/android/org/linphone/call/CallActivity.java similarity index 98% rename from src/android/org/linphone/CallActivity.java rename to src/android/org/linphone/call/CallActivity.java index e02625378..bbd0f45a3 100644 --- a/src/android/org/linphone/CallActivity.java +++ b/src/android/org/linphone/call/CallActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallActivity.java @@ -24,21 +24,15 @@ import android.app.Activity; import android.app.Dialog; import android.app.Fragment; import android.app.FragmentTransaction; -import android.content.Context; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.drawable.ColorDrawable; import android.graphics.drawable.Drawable; -import android.hardware.Sensor; -import android.hardware.SensorEvent; -import android.hardware.SensorEventListener; -import android.hardware.SensorManager; import android.os.Bundle; import android.os.CountDownTimer; import android.os.Handler; -import android.os.PowerManager; import android.os.SystemClock; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; @@ -62,6 +56,16 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; +import org.linphone.receivers.BluetoothManager; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; +import org.linphone.activities.LinphoneGenericActivity; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.Call.State; @@ -71,11 +75,11 @@ import org.linphone.core.CallStats.AddressFamily; import org.linphone.core.ChatMessage; import org.linphone.core.ChatRoom; import org.linphone.core.Core; -import org.linphone.core.CoreException; import org.linphone.core.CoreListenerStub; import org.linphone.core.Player; import org.linphone.core.PayloadType; import org.linphone.core.StreamType; +import org.linphone.fragments.StatusFragment; import org.linphone.mediastream.Log; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; import org.linphone.ui.Numpad; @@ -456,7 +460,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList switch (requestCode) { case PERMISSIONS_REQUEST_CAMERA: - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { acceptCallUpdate(grantResults[0] == PackageManager.PERMISSION_GRANTED); @@ -464,7 +468,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList }); break; case PERMISSIONS_ENABLED_CAMERA: - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { disableVideo(grantResults[0] != PackageManager.PERMISSION_GRANTED); @@ -472,7 +476,7 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList }); break; case PERMISSIONS_ENABLED_MIC: - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { @@ -511,11 +515,11 @@ public class CallActivity extends LinphoneGenericActivity implements OnClickList displayMissedChats(); } - protected void setSpeakerEnabled(boolean enabled){ + public void setSpeakerEnabled(boolean enabled){ isSpeakerEnabled = enabled; } - protected void refreshInCallActions() { + public void refreshInCallActions() { if (!LinphonePreferences.instance().isVideoEnabled() || isConferenceRunning) { enabledVideoButton(false); } else { diff --git a/src/android/org/linphone/CallAudioFragment.java b/src/android/org/linphone/call/CallAudioFragment.java similarity index 96% rename from src/android/org/linphone/CallAudioFragment.java rename to src/android/org/linphone/call/CallAudioFragment.java index 1c9fefe13..8f521a0f4 100644 --- a/src/android/org/linphone/CallAudioFragment.java +++ b/src/android/org/linphone/call/CallAudioFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallAudioFragment.java @@ -26,6 +26,9 @@ import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup; +import org.linphone.call.CallActivity; +import org.linphone.R; + public class CallAudioFragment extends Fragment { private CallActivity incallActvityInstance; diff --git a/src/android/org/linphone/CallIncomingActivity.java b/src/android/org/linphone/call/CallIncomingActivity.java similarity index 96% rename from src/android/org/linphone/CallIncomingActivity.java rename to src/android/org/linphone/call/CallIncomingActivity.java index 3b8db3f3e..593750c3b 100644 --- a/src/android/org/linphone/CallIncomingActivity.java +++ b/src/android/org/linphone/call/CallIncomingActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallIncomingActivity.java @@ -33,6 +33,15 @@ import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; +import org.linphone.activities.LinphoneGenericActivity; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.Call.State; @@ -189,7 +198,7 @@ public class CallIncomingActivity extends LinphoneGenericActivity implements Lin finish(); } if (state == State.StreamsRunning) { - Log.e("CallIncommingActivity - onCreate - State.StreamsRunning - speaker = "+LinphoneManager.getInstance().isSpeakerEnabled()); + Log.e("CallIncommingActivity - onCreate - State.StreamsRunning - speaker = "+ LinphoneManager.getInstance().isSpeakerEnabled()); // The following should not be needed except some devices need it (e.g. Galaxy S). LinphoneManager.getInstance().enableSpeaker(LinphoneManager.getInstance().isSpeakerEnabled()); } diff --git a/src/android/org/linphone/CallManager.java b/src/android/org/linphone/call/CallManager.java similarity index 95% rename from src/android/org/linphone/CallManager.java rename to src/android/org/linphone/call/CallManager.java index 1af123396..2a6c37902 100644 --- a/src/android/org/linphone/CallManager.java +++ b/src/android/org/linphone/call/CallManager.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallManager.java @@ -19,6 +19,8 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.BandwidthManager; +import org.linphone.LinphoneManager; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.CallParams; @@ -44,9 +46,6 @@ public class CallManager { return BandwidthManager.getInstance(); } - - - public void inviteAddress(Address lAddress, boolean videoEnabled, boolean lowBandwidth) throws CoreException { Core lc = LinphoneManager.getLc(); @@ -67,16 +66,13 @@ public class CallManager { lc.inviteAddressWithParams(lAddress, params); } - - - /** * Add video to a currently running voice only call. * No re-invite is sent if the current call is already video * or if the bandwidth settings are too low. * @return if updateCall called */ - boolean reinviteWithVideo() { + public boolean reinviteWithVideo() { Core lc = LinphoneManager.getLc(); Call lCall = lc.getCurrentCall(); if (lCall == null) { @@ -106,7 +102,7 @@ public class CallManager { /** * Re-invite with parameters updated from profile. */ - void reinvite() { + public void reinvite() { Core lc = LinphoneManager.getLc(); Call lCall = lc.getCurrentCall(); if (lCall == null) { diff --git a/src/android/org/linphone/CallOutgoingActivity.java b/src/android/org/linphone/call/CallOutgoingActivity.java similarity index 96% rename from src/android/org/linphone/CallOutgoingActivity.java rename to src/android/org/linphone/call/CallOutgoingActivity.java index 8094a0428..e1ec9096d 100644 --- a/src/android/org/linphone/CallOutgoingActivity.java +++ b/src/android/org/linphone/call/CallOutgoingActivity.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallOutgoingActivity.java @@ -22,6 +22,14 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import java.util.ArrayList; import java.util.List; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; +import org.linphone.activities.LinphoneGenericActivity; import org.linphone.core.Address; import org.linphone.core.Call; import org.linphone.core.Call.State; diff --git a/src/android/org/linphone/CallVideoFragment.java b/src/android/org/linphone/call/CallVideoFragment.java similarity index 98% rename from src/android/org/linphone/CallVideoFragment.java rename to src/android/org/linphone/call/CallVideoFragment.java index 2adf658be..b8482c67f 100644 --- a/src/android/org/linphone/CallVideoFragment.java +++ b/src/android/org/linphone/call/CallVideoFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.call; /* CallVideoFragment.java @@ -19,13 +19,17 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; import org.linphone.compatibility.Compatibility; import org.linphone.compatibility.CompatibilityScaleGestureDetector; import org.linphone.compatibility.CompatibilityScaleGestureListener; import org.linphone.core.Call; import org.linphone.mediastream.Log; import org.linphone.mediastream.video.AndroidVideoWindowImpl; -import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; import android.app.Fragment; import android.os.Bundle; diff --git a/src/android/org/linphone/chat/ChatCreationFragment.java b/src/android/org/linphone/chat/ChatCreationFragment.java index 9d2838cf7..4abe723ca 100644 --- a/src/android/org/linphone/chat/ChatCreationFragment.java +++ b/src/android/org/linphone/chat/ChatCreationFragment.java @@ -35,12 +35,11 @@ import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; -import org.linphone.ContactAddress; -import org.linphone.ContactSelectView; -import org.linphone.ContactsUpdatedListener; -import org.linphone.LinphoneActivity; +import org.linphone.contacts.ContactAddress; +import org.linphone.ui.ContactSelectView; +import org.linphone.receivers.ContactsUpdatedListener; +import org.linphone.activities.LinphoneActivity; import org.linphone.R; -import org.linphone.SearchContactsListAdapter; import java.util.ArrayList; import java.util.List; diff --git a/src/android/org/linphone/chat/ChatFragment.java b/src/android/org/linphone/chat/ChatFragment.java index e234d9874..8112aea4b 100644 --- a/src/android/org/linphone/chat/ChatFragment.java +++ b/src/android/org/linphone/chat/ChatFragment.java @@ -76,15 +76,14 @@ import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; -import org.linphone.ContactsManager; -import org.linphone.ContactsUpdatedListener; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneContact; +import org.linphone.contacts.ContactsManager; +import org.linphone.receivers.ContactsUpdatedListener; +import org.linphone.activities.LinphoneActivity; +import org.linphone.contacts.LinphoneContact; import org.linphone.LinphoneManager; import org.linphone.LinphoneService; import org.linphone.LinphoneUtils; import org.linphone.R; -import org.linphone.SearchContactsListAdapter; import org.linphone.compatibility.Compatibility; import org.linphone.core.Address; import org.linphone.core.Buffer; @@ -115,7 +114,7 @@ import java.util.Locale; import java.util.regex.Pattern; import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION; -import static org.linphone.FragmentsAvailable.CHAT; +import static org.linphone.fragments.FragmentsAvailable.CHAT; interface ChatUpdatedListener { void onChatUpdated(); diff --git a/src/android/org/linphone/chat/ChatListFragment.java b/src/android/org/linphone/chat/ChatListFragment.java index 2df8b672b..015cb73c4 100644 --- a/src/android/org/linphone/chat/ChatListFragment.java +++ b/src/android/org/linphone/chat/ChatListFragment.java @@ -43,11 +43,11 @@ import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; -import org.linphone.ContactsManager; -import org.linphone.ContactsUpdatedListener; -import org.linphone.FragmentsAvailable; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneContact; +import org.linphone.contacts.ContactsManager; +import org.linphone.receivers.ContactsUpdatedListener; +import org.linphone.fragments.FragmentsAvailable; +import org.linphone.activities.LinphoneActivity; +import org.linphone.contacts.LinphoneContact; import org.linphone.LinphoneManager; import org.linphone.LinphoneUtils; import org.linphone.R; @@ -60,7 +60,7 @@ import org.linphone.core.CoreListenerStub; import java.util.List; -import static org.linphone.FragmentsAvailable.CHAT_LIST; +import static org.linphone.fragments.FragmentsAvailable.CHAT_LIST; public class ChatListFragment extends Fragment implements OnClickListener, OnItemClickListener, ContactsUpdatedListener, ChatUpdatedListener { private LayoutInflater mInflater; diff --git a/src/android/org/linphone/GroupChatFragment.java b/src/android/org/linphone/chat/GroupChatFragment.java similarity index 96% rename from src/android/org/linphone/GroupChatFragment.java rename to src/android/org/linphone/chat/GroupChatFragment.java index e71417de2..2a5715ad7 100644 --- a/src/android/org/linphone/GroupChatFragment.java +++ b/src/android/org/linphone/chat/GroupChatFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; import android.app.Fragment; import android.os.Bundle; @@ -6,6 +6,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import org.linphone.R; + /* GroupChatFragment.java Copyright (C) 2017 Belledonne Communications, Grenoble, France diff --git a/src/android/org/linphone/InfoGroupChatFragment.java b/src/android/org/linphone/chat/InfoGroupChatFragment.java similarity index 96% rename from src/android/org/linphone/InfoGroupChatFragment.java rename to src/android/org/linphone/chat/InfoGroupChatFragment.java index 9f691be6b..711bd5398 100644 --- a/src/android/org/linphone/InfoGroupChatFragment.java +++ b/src/android/org/linphone/chat/InfoGroupChatFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; /* InfoGroupChatFragment.java @@ -25,6 +25,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import org.linphone.R; + public class InfoGroupChatFragment extends Fragment implements View.OnClickListener { private LayoutInflater mInflater; diff --git a/src/android/org/linphone/SearchContactsListAdapter.java b/src/android/org/linphone/chat/SearchContactsListAdapter.java similarity index 96% rename from src/android/org/linphone/SearchContactsListAdapter.java rename to src/android/org/linphone/chat/SearchContactsListAdapter.java index e3a2f2758..05607044d 100644 --- a/src/android/org/linphone/SearchContactsListAdapter.java +++ b/src/android/org/linphone/chat/SearchContactsListAdapter.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.chat; /* SearchContactsListAdapter.java @@ -28,16 +28,17 @@ import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; +import org.linphone.contacts.ContactAddress; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.R; import org.linphone.core.Address; import java.util.ArrayList; import java.util.List; import java.util.Locale; -/** - * Created by Erwan Croze. - */ - public class SearchContactsListAdapter extends BaseAdapter { private class ViewHolder { diff --git a/src/android/org/linphone/ContactAddress.java b/src/android/org/linphone/contacts/ContactAddress.java similarity index 98% rename from src/android/org/linphone/ContactAddress.java rename to src/android/org/linphone/contacts/ContactAddress.java index 0ff0b2b8b..1dee8fafa 100644 --- a/src/android/org/linphone/ContactAddress.java +++ b/src/android/org/linphone/contacts/ContactAddress.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* ContactAddress.java diff --git a/src/android/org/linphone/ContactDetailsFragment.java b/src/android/org/linphone/contacts/ContactDetailsFragment.java similarity index 96% rename from src/android/org/linphone/ContactDetailsFragment.java rename to src/android/org/linphone/contacts/ContactDetailsFragment.java index cef6bd33d..dc1f6d902 100644 --- a/src/android/org/linphone/ContactDetailsFragment.java +++ b/src/android/org/linphone/contacts/ContactDetailsFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* ContactDetailsFragment.java @@ -19,7 +19,12 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.ProxyConfig; +import org.linphone.fragments.FragmentsAvailable; import android.annotation.SuppressLint; import android.app.Dialog; diff --git a/src/android/org/linphone/ContactEditorFragment.java b/src/android/org/linphone/contacts/ContactEditorFragment.java similarity index 99% rename from src/android/org/linphone/ContactEditorFragment.java rename to src/android/org/linphone/contacts/ContactEditorFragment.java index 8d3edadbb..395b7f1d4 100644 --- a/src/android/org/linphone/ContactEditorFragment.java +++ b/src/android/org/linphone/contacts/ContactEditorFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* ContactEditorFragment.java @@ -48,6 +48,10 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; diff --git a/src/android/org/linphone/ContactsListFragment.java b/src/android/org/linphone/contacts/ContactsListFragment.java similarity index 98% rename from src/android/org/linphone/ContactsListFragment.java rename to src/android/org/linphone/contacts/ContactsListFragment.java index efb50ffe2..ad8fb35fc 100644 --- a/src/android/org/linphone/ContactsListFragment.java +++ b/src/android/org/linphone/contacts/ContactsListFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* ContactsListFragment.java @@ -44,14 +44,19 @@ import android.widget.ProgressBar; import android.widget.SectionIndexer; import android.widget.TextView; +import org.linphone.fragments.FragmentsAvailable; +import org.linphone.receivers.ContactsUpdatedListener; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; + import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Locale; import java.util.Map; -import static org.linphone.FragmentsAvailable.CONTACTS_LIST; - public class ContactsListFragment extends Fragment implements OnClickListener, OnItemClickListener, ContactsUpdatedListener { private LayoutInflater mInflater; private ListView contactsList; @@ -419,7 +424,7 @@ public class ContactsListFragment extends Fragment implements OnClickListener, O @Override public void onContactsUpdated() { - if (!LinphoneActivity.isInstanciated() || LinphoneActivity.instance().getCurrentFragment() != CONTACTS_LIST) + if (!LinphoneActivity.isInstanciated() || LinphoneActivity.instance().getCurrentFragment() != FragmentsAvailable.CONTACTS_LIST) return; ContactsListAdapter adapter = (ContactsListAdapter)contactsList.getAdapter(); if (adapter != null) { diff --git a/src/android/org/linphone/ContactsManager.java b/src/android/org/linphone/contacts/ContactsManager.java similarity index 98% rename from src/android/org/linphone/ContactsManager.java rename to src/android/org/linphone/contacts/ContactsManager.java index 42f61c1a7..eaa18a81a 100644 --- a/src/android/org/linphone/ContactsManager.java +++ b/src/android/org/linphone/contacts/ContactsManager.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* ContactsManager.java @@ -36,12 +36,17 @@ import android.provider.ContactsContract; import android.provider.ContactsContract.CommonDataKinds; import android.provider.ContactsContract.Data; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.R; import org.linphone.core.Address; import org.linphone.core.Core; import org.linphone.core.Friend; import org.linphone.core.FriendList; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; +import org.linphone.receivers.ContactsUpdatedListener; import java.util.ArrayList; import java.util.Collections; diff --git a/src/android/org/linphone/LinphoneContact.java b/src/android/org/linphone/contacts/LinphoneContact.java similarity index 99% rename from src/android/org/linphone/LinphoneContact.java rename to src/android/org/linphone/contacts/LinphoneContact.java index 82d848e0e..bda0baee7 100644 --- a/src/android/org/linphone/LinphoneContact.java +++ b/src/android/org/linphone/contacts/LinphoneContact.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* LinphoneContact.java @@ -25,9 +25,10 @@ import java.util.Collections; import java.util.List; import java.util.Locale; +import org.linphone.LinphoneManager; +import org.linphone.R; import org.linphone.core.Address; import org.linphone.core.Core; -import org.linphone.core.CoreException; import org.linphone.core.Friend; import org.linphone.core.Friend.SubscribePolicy; import org.linphone.core.FriendList; diff --git a/src/android/org/linphone/LinphoneNumberOrAddress.java b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java similarity index 98% rename from src/android/org/linphone/LinphoneNumberOrAddress.java rename to src/android/org/linphone/contacts/LinphoneNumberOrAddress.java index 9572161aa..869f21fc1 100644 --- a/src/android/org/linphone/LinphoneNumberOrAddress.java +++ b/src/android/org/linphone/contacts/LinphoneNumberOrAddress.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.contacts; /* LinphoneNumberOrAddress.java diff --git a/src/android/org/linphone/firebase/FirebaseIdService.java b/src/android/org/linphone/firebase/FirebaseIdService.java index 0c1b01976..794ce7608 100644 --- a/src/android/org/linphone/firebase/FirebaseIdService.java +++ b/src/android/org/linphone/firebase/FirebaseIdService.java @@ -23,7 +23,7 @@ import com.google.firebase.iid.FirebaseInstanceId; import com.google.firebase.iid.FirebaseInstanceIdService; import org.linphone.LinphonePreferences; -import org.linphone.UIThreadDispatcher; +import org.linphone.LinphoneUtils; public class FirebaseIdService extends FirebaseInstanceIdService { @@ -38,7 +38,7 @@ public class FirebaseIdService extends FirebaseInstanceIdService { private void sendRegistrationToServer(final String refreshedToken) { android.util.Log.i("FirebaseIdService", "[Push Notification] Send token to server: " + refreshedToken); - UIThreadDispatcher.dispatch(new Runnable() { + LinphoneUtils.dispatchOnUIThread(new Runnable() { @Override public void run() { LinphonePreferences.instance().setPushNotificationRegistrationID(refreshedToken); diff --git a/src/android/org/linphone/firebase/FirebaseMessaging.java b/src/android/org/linphone/firebase/FirebaseMessaging.java index c3141f4cc..f7199d1ef 100644 --- a/src/android/org/linphone/firebase/FirebaseMessaging.java +++ b/src/android/org/linphone/firebase/FirebaseMessaging.java @@ -26,9 +26,9 @@ import com.google.firebase.messaging.RemoteMessage; import org.linphone.LinphoneManager; import org.linphone.LinphoneService; -import org.linphone.UIThreadDispatcher; -import static android.content.Intent.ACTION_MAIN; +import org.linphone.LinphoneUtils; +import static android.content.Intent.ACTION_MAIN; public class FirebaseMessaging extends FirebaseMessagingService { public FirebaseMessaging() { @@ -41,7 +41,7 @@ public class FirebaseMessaging extends FirebaseMessagingService { if (!LinphoneService.isReady()) { startService(new Intent(ACTION_MAIN).setClass(this, LinphoneService.class)); } else if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0) { - UIThreadDispatcher.dispatch(new Runnable(){ + LinphoneUtils.dispatchOnUIThread(new Runnable(){ @Override public void run() { if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0){ diff --git a/src/android/org/linphone/AboutFragment.java b/src/android/org/linphone/fragments/AboutFragment.java similarity index 96% rename from src/android/org/linphone/AboutFragment.java rename to src/android/org/linphone/fragments/AboutFragment.java index dbb29d918..3973391b1 100644 --- a/src/android/org/linphone/AboutFragment.java +++ b/src/android/org/linphone/fragments/AboutFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* AboutFragment.java Copyright (C) 2017 Belledonne Communications, Grenoble, France @@ -18,6 +18,11 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.Core; import org.linphone.core.Core.LogCollectionUploadState; import org.linphone.core.CoreListenerStub; diff --git a/src/android/org/linphone/AccountPreferencesFragment.java b/src/android/org/linphone/fragments/AccountPreferencesFragment.java similarity index 99% rename from src/android/org/linphone/AccountPreferencesFragment.java rename to src/android/org/linphone/fragments/AccountPreferencesFragment.java index 85136fa6e..29cec9696 100644 --- a/src/android/org/linphone/AccountPreferencesFragment.java +++ b/src/android/org/linphone/fragments/AccountPreferencesFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* AccountPreferencesFragment.java Copyright (C) 2017 Belledonne Communications, Grenoble, France @@ -21,12 +21,16 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import java.util.ArrayList; import java.util.List; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; import org.linphone.LinphonePreferences.AccountBuilder; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.assistant.AssistantActivity; import org.linphone.core.AccountCreator; import org.linphone.core.AccountCreatorListener; import org.linphone.core.CoreException; -import org.linphone.core.Factory; import org.linphone.core.NatPolicy; import org.linphone.core.ProxyConfig; import org.linphone.mediastream.Log; @@ -36,8 +40,6 @@ import android.app.AlertDialog; import android.app.ProgressDialog; import android.content.DialogInterface; import android.content.Intent; -import android.graphics.drawable.ColorDrawable; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.CheckBoxPreference; import android.preference.EditTextPreference; @@ -47,11 +49,9 @@ import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; -import android.support.v4.content.ContextCompat; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; -import android.widget.CheckBox; import android.widget.EditText; public class AccountPreferencesFragment extends PreferencesListFragment implements AccountCreatorListener { diff --git a/src/android/org/linphone/DialerFragment.java b/src/android/org/linphone/fragments/DialerFragment.java similarity index 97% rename from src/android/org/linphone/DialerFragment.java rename to src/android/org/linphone/fragments/DialerFragment.java index 0ccb041ea..30e3a50e5 100644 --- a/src/android/org/linphone/DialerFragment.java +++ b/src/android/org/linphone/fragments/DialerFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* DialerFragment.java @@ -31,6 +31,11 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; +import org.linphone.contacts.ContactsManager; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneService; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.Core; import org.linphone.mediastream.Log; import org.linphone.ui.AddressAware; diff --git a/src/android/org/linphone/EmptyFragment.java b/src/android/org/linphone/fragments/EmptyFragment.java similarity index 95% rename from src/android/org/linphone/EmptyFragment.java rename to src/android/org/linphone/fragments/EmptyFragment.java index 91cd899b4..72a227375 100644 --- a/src/android/org/linphone/EmptyFragment.java +++ b/src/android/org/linphone/fragments/EmptyFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* EmptyFragment.java @@ -25,6 +25,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import org.linphone.R; + public class EmptyFragment extends Fragment { @Override diff --git a/src/android/org/linphone/FragmentsAvailable.java b/src/android/org/linphone/fragments/FragmentsAvailable.java similarity index 98% rename from src/android/org/linphone/FragmentsAvailable.java rename to src/android/org/linphone/fragments/FragmentsAvailable.java index b3ca0f81e..70fa3a5d8 100644 --- a/src/android/org/linphone/FragmentsAvailable.java +++ b/src/android/org/linphone/fragments/FragmentsAvailable.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* FragmentsAvailable.java diff --git a/src/android/org/linphone/HistoryDetailFragment.java b/src/android/org/linphone/fragments/HistoryDetailFragment.java similarity index 96% rename from src/android/org/linphone/HistoryDetailFragment.java rename to src/android/org/linphone/fragments/HistoryDetailFragment.java index 6acd7a744..cc0e3ab88 100644 --- a/src/android/org/linphone/HistoryDetailFragment.java +++ b/src/android/org/linphone/fragments/HistoryDetailFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* HistoryDetailFragment.java @@ -29,10 +29,13 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import org.linphone.contacts.ContactsManager; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.Address; -import org.linphone.core.CoreException; import org.linphone.core.Factory; -import org.linphone.mediastream.Log; public class HistoryDetailFragment extends Fragment implements OnClickListener { private ImageView dialBack, chat, addToContacts, goToContact, back; diff --git a/src/android/org/linphone/HistoryListFragment.java b/src/android/org/linphone/fragments/HistoryListFragment.java similarity index 97% rename from src/android/org/linphone/HistoryListFragment.java rename to src/android/org/linphone/fragments/HistoryListFragment.java index 3358d69b5..27e7f3f10 100644 --- a/src/android/org/linphone/HistoryListFragment.java +++ b/src/android/org/linphone/fragments/HistoryListFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* HistoryListFragment.java @@ -25,8 +25,14 @@ import java.util.Arrays; import java.util.Calendar; import java.util.List; +import org.linphone.contacts.ContactsManager; +import org.linphone.receivers.ContactsUpdatedListener; +import org.linphone.contacts.LinphoneContact; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.Call; -import org.linphone.core.Call.Dir; import org.linphone.core.Address; import org.linphone.core.CallLog; import org.linphone.core.CallLog.CallStatus; @@ -53,8 +59,6 @@ import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; -import static org.linphone.FragmentsAvailable.HISTORY_LIST; - public class HistoryListFragment extends Fragment implements OnClickListener, OnItemClickListener, ContactsUpdatedListener { private ListView historyList; private LayoutInflater mInflater; @@ -224,7 +228,7 @@ public class HistoryListFragment extends Fragment implements OnClickListener, On @Override public void onContactsUpdated() { - if (!LinphoneActivity.isInstanciated() || LinphoneActivity.instance().getCurrentFragment() != HISTORY_LIST) + if (!LinphoneActivity.isInstanciated() || LinphoneActivity.instance().getCurrentFragment() != FragmentsAvailable.HISTORY_LIST) return; CallHistoryAdapter adapter = (CallHistoryAdapter)historyList.getAdapter(); if (adapter != null) { diff --git a/src/android/org/linphone/SettingsFragment.java b/src/android/org/linphone/fragments/SettingsFragment.java similarity index 99% rename from src/android/org/linphone/SettingsFragment.java rename to src/android/org/linphone/fragments/SettingsFragment.java index 1c93146d2..701240d54 100644 --- a/src/android/org/linphone/SettingsFragment.java +++ b/src/android/org/linphone/fragments/SettingsFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* SettingsFragment.java @@ -23,6 +23,12 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.Address; import org.linphone.core.Core; import org.linphone.core.Core.EcCalibratorStatus; @@ -50,8 +56,6 @@ import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.media.AudioManager; import android.net.Uri; -import android.net.wifi.WifiManager; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.preference.CheckBoxPreference; diff --git a/src/android/org/linphone/StatusFragment.java b/src/android/org/linphone/fragments/StatusFragment.java similarity index 98% rename from src/android/org/linphone/StatusFragment.java rename to src/android/org/linphone/fragments/StatusFragment.java index c37abb155..096302fb0 100644 --- a/src/android/org/linphone/StatusFragment.java +++ b/src/android/org/linphone/fragments/StatusFragment.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.fragments; /* StatusFragment.java Copyright (C) 2017 Belledonne Communications, Grenoble, France @@ -17,8 +17,12 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.call.CallActivity; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneService; +import org.linphone.R; +import org.linphone.activities.LinphoneActivity; import org.linphone.assistant.AssistantActivity; -import org.linphone.core.Call.Dir; import org.linphone.core.Call; import org.linphone.core.Content; import org.linphone.core.Core; diff --git a/src/android/org/linphone/gcm/GCMService.java b/src/android/org/linphone/gcm/GCMService.java index 9862f7caa..f956cd418 100644 --- a/src/android/org/linphone/gcm/GCMService.java +++ b/src/android/org/linphone/gcm/GCMService.java @@ -23,9 +23,10 @@ import static android.content.Intent.ACTION_MAIN; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneService; +import org.linphone.LinphoneUtils; import org.linphone.R; -import org.linphone.UIThreadDispatcher; import org.linphone.core.Factory; +import org.linphone.core.LogCollectionState; import org.linphone.mediastream.Log; import android.content.Context; @@ -43,7 +44,7 @@ public class GCMService extends GCMBaseIntentService { private void initLogger(Context context) { LinphonePreferences.instance().setContext(context); boolean isDebugEnabled = LinphonePreferences.instance().isDebugEnabled(); - Factory.instance().enableLogCollection(isDebugEnabled); + Factory.instance().enableLogCollection(isDebugEnabled ? LogCollectionState.Enabled : LogCollectionState.Disabled); Factory.instance().setDebugMode(isDebugEnabled, context.getString(R.string.app_name)); } @@ -61,7 +62,7 @@ public class GCMService extends GCMBaseIntentService { if (!LinphoneService.isReady()) { context.startService(new Intent(ACTION_MAIN).setClass(context, LinphoneService.class)); } else if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0) { - UIThreadDispatcher.dispatch(new Runnable(){ + LinphoneUtils.dispatchOnUIThread(new Runnable(){ @Override public void run() { if (LinphoneManager.isInstanciated() && LinphoneManager.getLc().getCallsNb() == 0){ @@ -77,7 +78,7 @@ public class GCMService extends GCMBaseIntentService { protected void onRegistered(Context context, final String regId) { initLogger(context); Log.d("[Push Notification] Registered: " + regId); - UIThreadDispatcher.dispatch(new Runnable(){ + LinphoneUtils.dispatchOnUIThread(new Runnable(){ @Override public void run() { LinphonePreferences.instance().setPushNotificationRegistrationID(regId); @@ -90,7 +91,7 @@ public class GCMService extends GCMBaseIntentService { initLogger(context); Log.w("[Push Notification] Unregistered: " + regId); - UIThreadDispatcher.dispatch(new Runnable(){ + LinphoneUtils.dispatchOnUIThread(new Runnable(){ @Override public void run() { LinphonePreferences.instance().setPushNotificationRegistrationID(null); diff --git a/src/android/org/linphone/AccountEnableReceiver.java b/src/android/org/linphone/receivers/AccountEnableReceiver.java similarity index 95% rename from src/android/org/linphone/AccountEnableReceiver.java rename to src/android/org/linphone/receivers/AccountEnableReceiver.java index de9af4c07..ad144fdd8 100644 --- a/src/android/org/linphone/AccountEnableReceiver.java +++ b/src/android/org/linphone/receivers/AccountEnableReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* AccountEnableReceiver.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.util.Log; +import org.linphone.LinphonePreferences; + public class AccountEnableReceiver extends BroadcastReceiver { private static final String TAG = "AccountEnableReceiver"; private static final String FIELD_ID = "id"; diff --git a/src/android/org/linphone/BluetoothManager.java b/src/android/org/linphone/receivers/BluetoothManager.java similarity index 98% rename from src/android/org/linphone/BluetoothManager.java rename to src/android/org/linphone/receivers/BluetoothManager.java index 414c9813c..6aa4d2fad 100644 --- a/src/android/org/linphone/BluetoothManager.java +++ b/src/android/org/linphone/receivers/BluetoothManager.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* BluetoothManager.java Copyright (C) 2017 Belledonne Communications, Grenoble, France @@ -20,6 +20,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import java.util.List; +import org.linphone.LinphoneManager; +import org.linphone.LinphoneService; +import org.linphone.call.CallActivity; import org.linphone.mediastream.Log; import android.annotation.TargetApi; diff --git a/src/android/org/linphone/BootReceiver.java b/src/android/org/linphone/receivers/BootReceiver.java similarity index 92% rename from src/android/org/linphone/BootReceiver.java rename to src/android/org/linphone/receivers/BootReceiver.java index adbc15718..5513e05a4 100644 --- a/src/android/org/linphone/BootReceiver.java +++ b/src/android/org/linphone/receivers/BootReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* BootReceiver.java @@ -19,6 +19,9 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; import org.linphone.core.Factory; import org.linphone.core.Config; import org.linphone.mediastream.Log; diff --git a/src/android/org/linphone/ContactsUpdatedListener.java b/src/android/org/linphone/receivers/ContactsUpdatedListener.java similarity index 96% rename from src/android/org/linphone/ContactsUpdatedListener.java rename to src/android/org/linphone/receivers/ContactsUpdatedListener.java index 831591923..6b61ab960 100644 --- a/src/android/org/linphone/ContactsUpdatedListener.java +++ b/src/android/org/linphone/receivers/ContactsUpdatedListener.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* ContactsUpdatedListener.java diff --git a/src/android/org/linphone/DozeReceiver.java b/src/android/org/linphone/receivers/DozeReceiver.java similarity index 92% rename from src/android/org/linphone/DozeReceiver.java rename to src/android/org/linphone/receivers/DozeReceiver.java index e66a41ccd..d417920bb 100644 --- a/src/android/org/linphone/DozeReceiver.java +++ b/src/android/org/linphone/receivers/DozeReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* DozeReceiver.java @@ -19,6 +19,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.R; import org.linphone.core.Core; import org.linphone.core.Factory; import org.linphone.core.LogCollectionState; diff --git a/src/android/org/linphone/HookReceiver.java b/src/android/org/linphone/receivers/HookReceiver.java similarity index 96% rename from src/android/org/linphone/HookReceiver.java rename to src/android/org/linphone/receivers/HookReceiver.java index 952f6ea78..65f5cfa6d 100644 --- a/src/android/org/linphone/HookReceiver.java +++ b/src/android/org/linphone/receivers/HookReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* HookReceiver.java @@ -24,6 +24,7 @@ import android.content.Context; import android.content.Intent; import android.os.Bundle; +import org.linphone.LinphoneManager; import org.linphone.mediastream.Log; public class HookReceiver extends BroadcastReceiver { diff --git a/src/android/org/linphone/KeepAliveReceiver.java b/src/android/org/linphone/receivers/KeepAliveReceiver.java similarity index 94% rename from src/android/org/linphone/KeepAliveReceiver.java rename to src/android/org/linphone/receivers/KeepAliveReceiver.java index 172c12e6a..64fa88b67 100644 --- a/src/android/org/linphone/KeepAliveReceiver.java +++ b/src/android/org/linphone/receivers/KeepAliveReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* KeepAliveReceiver.java @@ -19,6 +19,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.LinphoneManager; +import org.linphone.LinphonePreferences; +import org.linphone.LinphoneService; +import org.linphone.R; import org.linphone.compatibility.Compatibility; import org.linphone.core.Core; import org.linphone.core.Factory; diff --git a/src/android/org/linphone/NetworkManager.java b/src/android/org/linphone/receivers/NetworkManager.java similarity index 95% rename from src/android/org/linphone/NetworkManager.java rename to src/android/org/linphone/receivers/NetworkManager.java index bb0895a24..989cf8425 100644 --- a/src/android/org/linphone/NetworkManager.java +++ b/src/android/org/linphone/receivers/NetworkManager.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* ContactPickerActivity.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; +import org.linphone.LinphoneManager; + /** * * Intercept network state changes and update linphone core through LinphoneManager. diff --git a/src/android/org/linphone/OutgoingCallReceiver.java b/src/android/org/linphone/receivers/OutgoingCallReceiver.java similarity index 96% rename from src/android/org/linphone/OutgoingCallReceiver.java rename to src/android/org/linphone/receivers/OutgoingCallReceiver.java index 526b14a11..c2d5cd417 100644 --- a/src/android/org/linphone/OutgoingCallReceiver.java +++ b/src/android/org/linphone/receivers/OutgoingCallReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* OutgoingCallReceiver.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.util.Log; +import org.linphone.LinphonePreferences; + import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; diff --git a/src/android/org/linphone/PhoneStateChangedReceiver.java b/src/android/org/linphone/receivers/PhoneStateChangedReceiver.java similarity index 95% rename from src/android/org/linphone/PhoneStateChangedReceiver.java rename to src/android/org/linphone/receivers/PhoneStateChangedReceiver.java index c20fdae7f..3acd5101a 100644 --- a/src/android/org/linphone/PhoneStateChangedReceiver.java +++ b/src/android/org/linphone/receivers/PhoneStateChangedReceiver.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.receivers; /* PhoneStateReceiver.java @@ -24,6 +24,8 @@ import android.content.Context; import android.content.Intent; import android.telephony.TelephonyManager; +import org.linphone.LinphoneManager; + /** * Pause current SIP calls when GSM phone rings or is active. */ diff --git a/src/android/org/linphone/ui/AddressText.java b/src/android/org/linphone/ui/AddressText.java index e453fc010..17fa1cf1f 100644 --- a/src/android/org/linphone/ui/AddressText.java +++ b/src/android/org/linphone/ui/AddressText.java @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import org.linphone.DialerFragment; +import org.linphone.fragments.DialerFragment; import org.linphone.LinphoneManager.AddressType; import org.linphone.R; diff --git a/src/android/org/linphone/ContactSelectView.java b/src/android/org/linphone/ui/ContactSelectView.java similarity index 93% rename from src/android/org/linphone/ContactSelectView.java rename to src/android/org/linphone/ui/ContactSelectView.java index 538e09f79..962ee93a8 100644 --- a/src/android/org/linphone/ContactSelectView.java +++ b/src/android/org/linphone/ui/ContactSelectView.java @@ -1,4 +1,4 @@ -package org.linphone; +package org.linphone.ui; /* ContactSelectView.java @@ -25,6 +25,10 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import org.linphone.contacts.ContactAddress; +import org.linphone.LinphoneManager; +import org.linphone.R; + public class ContactSelectView extends View { private TextView contactName; private ImageView deleteContact; diff --git a/src/android/org/linphone/ui/Digit.java b/src/android/org/linphone/ui/Digit.java index 7733b02b2..c1b544695 100644 --- a/src/android/org/linphone/ui/Digit.java +++ b/src/android/org/linphone/ui/Digit.java @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import org.linphone.CallActivity; +import org.linphone.call.CallActivity; import org.linphone.LinphoneManager; import org.linphone.LinphonePreferences; import org.linphone.LinphoneService; diff --git a/src/android/org/linphone/ui/LinphoneOverlay.java b/src/android/org/linphone/ui/LinphoneOverlay.java index 824bbef30..5e0e238a2 100644 --- a/src/android/org/linphone/ui/LinphoneOverlay.java +++ b/src/android/org/linphone/ui/LinphoneOverlay.java @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -import org.linphone.LinphoneActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.LinphoneManager; import org.linphone.LinphoneService; import org.linphone.core.Call; diff --git a/src/androidTest/org/linphone/AccountAssistant.java b/src/androidTest/org/linphone/AccountAssistant.java index c48997b4a..9658dd077 100644 --- a/src/androidTest/org/linphone/AccountAssistant.java +++ b/src/androidTest/org/linphone/AccountAssistant.java @@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; +import org.linphone.activities.LinphoneActivity; import org.linphone.assistant.AssistantActivity; import org.linphone.core.LinphoneNatPolicy; import org.linphone.core.LinphoneProxyConfig; diff --git a/src/androidTest/org/linphone/AccountManagement.java b/src/androidTest/org/linphone/AccountManagement.java index c21eaf453..0af9ff8a2 100644 --- a/src/androidTest/org/linphone/AccountManagement.java +++ b/src/androidTest/org/linphone/AccountManagement.java @@ -21,11 +21,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; -import org.linphone.FragmentsAvailable; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; -import org.linphone.LinphonePreferences; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneProxyConfig; +import org.linphone.fragments.FragmentsAvailable; import android.test.suitebuilder.annotation.LargeTest; diff --git a/src/androidTest/org/linphone/CallsAudio.java b/src/androidTest/org/linphone/CallsAudio.java index 39d8da491..6c395045f 100644 --- a/src/androidTest/org/linphone/CallsAudio.java +++ b/src/androidTest/org/linphone/CallsAudio.java @@ -21,6 +21,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; +import org.linphone.call.CallActivity; +import org.linphone.call.CallIncomingActivity; +import org.linphone.call.CallOutgoingActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; @@ -34,8 +38,6 @@ import android.view.View; import android.widget.ImageView; import static android.test.TouchUtils.dragViewToX; -import static android.view.Gravity.CENTER_HORIZONTAL; -import static android.view.Gravity.CENTER_VERTICAL; public class CallsAudio extends SampleTest { diff --git a/src/androidTest/org/linphone/CallsVideo.java b/src/androidTest/org/linphone/CallsVideo.java index 5eaa257f1..cece7d52f 100644 --- a/src/androidTest/org/linphone/CallsVideo.java +++ b/src/androidTest/org/linphone/CallsVideo.java @@ -21,13 +21,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; -import org.linphone.CallActivity; -import org.linphone.CallIncomingActivity; -import org.linphone.CallOutgoingActivity; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; +import org.linphone.call.CallActivity; +import org.linphone.call.CallIncomingActivity; +import org.linphone.call.CallOutgoingActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneCall; -import org.linphone.mediastream.Log; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreException; import org.linphone.core.PayloadType; @@ -35,13 +33,9 @@ import org.linphone.core.PayloadType; import android.test.suitebuilder.annotation.SmallTest; import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; -import android.util.DisplayMetrics; import android.view.Gravity; -import android.view.View; import static android.test.TouchUtils.dragViewToX; -import static android.view.Gravity.CENTER_HORIZONTAL; -import static android.view.Gravity.CENTER_VERTICAL; public class CallsVideo extends SampleTest { diff --git a/src/androidTest/org/linphone/Chat.java b/src/androidTest/org/linphone/Chat.java index 7b8bdd4dc..19065fdae 100644 --- a/src/androidTest/org/linphone/Chat.java +++ b/src/androidTest/org/linphone/Chat.java @@ -21,11 +21,10 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; -import org.linphone.LinphoneActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneChatMessage; import org.linphone.core.LinphoneChatMessage.State; import org.linphone.core.LinphoneChatRoom; -import org.linphone.mediastream.Log; import com.robotium.solo.Solo; @@ -33,7 +32,6 @@ import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; import android.widget.EditText; -import android.widget.AutoCompleteTextView; public class Chat extends SampleTest { diff --git a/src/androidTest/org/linphone/ConferenceAndMultiCall.java b/src/androidTest/org/linphone/ConferenceAndMultiCall.java index b70c6aeb0..cf57a8062 100644 --- a/src/androidTest/org/linphone/ConferenceAndMultiCall.java +++ b/src/androidTest/org/linphone/ConferenceAndMultiCall.java @@ -22,6 +22,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; +import org.linphone.call.CallActivity; +import org.linphone.call.CallIncomingActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCoreException; import org.linphone.mediastream.Log; diff --git a/src/androidTest/org/linphone/Contacts.java b/src/androidTest/org/linphone/Contacts.java index c0a8ddde8..8b5f6e6c0 100644 --- a/src/androidTest/org/linphone/Contacts.java +++ b/src/androidTest/org/linphone/Contacts.java @@ -26,6 +26,8 @@ import android.test.suitebuilder.annotation.LargeTest; import android.test.suitebuilder.annotation.MediumTest; import android.test.suitebuilder.annotation.SmallTest; +import org.linphone.activities.LinphoneActivity; + public class Contacts extends SampleTest { @MediumTest diff --git a/src/androidTest/org/linphone/History.java b/src/androidTest/org/linphone/History.java index 1a82dca17..1250f416d 100644 --- a/src/androidTest/org/linphone/History.java +++ b/src/androidTest/org/linphone/History.java @@ -21,8 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; -import org.linphone.CallActivity; -import org.linphone.LinphoneActivity; +import org.linphone.call.CallActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneCall; import android.test.suitebuilder.annotation.LargeTest; diff --git a/src/androidTest/org/linphone/LinphoneTestManager.java b/src/androidTest/org/linphone/LinphoneTestManager.java index a662980f5..d888be409 100644 --- a/src/androidTest/org/linphone/LinphoneTestManager.java +++ b/src/androidTest/org/linphone/LinphoneTestManager.java @@ -133,11 +133,7 @@ public class LinphoneTestManager implements LinphoneCoreListener{ t.tcp = -1; mLc.setSignalingTransportPorts(t); - try { - initFromConf(mLc); - } catch (LinphoneException e) { - Log.w("no config ready yet"); - } + initFromConf(mLc); TimerTask lTask = new TimerTask() { @Override @@ -170,7 +166,7 @@ public class LinphoneTestManager implements LinphoneCoreListener{ LinphoneManager.getLc().setVideoDevice(camId); } - public void initFromConf(LinphoneCore mLc) throws LinphoneConfigException, LinphoneCoreException { + public void initFromConf(LinphoneCore mLc) { LinphoneCoreFactory.instance().setDebugMode(true, "LinphoneTester"); initAccounts(mLc); diff --git a/src/androidTest/org/linphone/SampleTest.java b/src/androidTest/org/linphone/SampleTest.java index cd400106f..d60f45a9f 100644 --- a/src/androidTest/org/linphone/SampleTest.java +++ b/src/androidTest/org/linphone/SampleTest.java @@ -19,6 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +import org.linphone.activities.LinphoneLauncherActivity; import org.linphone.core.LinphoneCall; import org.linphone.core.LinphoneCall.State; import org.linphone.core.LinphoneCore; diff --git a/src/androidTest/org/linphone/Transfer.java b/src/androidTest/org/linphone/Transfer.java index ee2487cd1..09f596712 100644 --- a/src/androidTest/org/linphone/Transfer.java +++ b/src/androidTest/org/linphone/Transfer.java @@ -21,9 +21,8 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. import junit.framework.Assert; -import org.linphone.CallActivity; -import org.linphone.LinphoneActivity; -import org.linphone.LinphoneManager; +import org.linphone.call.CallActivity; +import org.linphone.activities.LinphoneActivity; import org.linphone.core.LinphoneCall; import org.linphone.mediastream.Log;