diff --git a/src/org/linphone/LinphoneManager.java b/src/org/linphone/LinphoneManager.java index 17ac36e0a..1e925cbf7 100644 --- a/src/org/linphone/LinphoneManager.java +++ b/src/org/linphone/LinphoneManager.java @@ -39,8 +39,8 @@ import java.util.TimerTask; import org.linphone.compatibility.Compatibility; import org.linphone.core.CallDirection; -import org.linphone.core.OpenH264HelperAction; -import org.linphone.core.OpenH264HelperListener; +import org.linphone.core.OpenH264DownloadHelperAction; +import org.linphone.core.OpenH264DownloadHelperListener; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneBuffer; import org.linphone.core.LinphoneCall; @@ -76,7 +76,7 @@ import org.linphone.mediastream.Version; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration.AndroidCamera; import org.linphone.mediastream.video.capture.hwconf.Hacks; -import org.linphone.tools.OpenH264Helper; +import org.linphone.tools.OpenH264DownloadHelper; import android.annotation.SuppressLint; import android.annotation.TargetApi; @@ -143,9 +143,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag private Resources mR; private LinphonePreferences mPrefs; private LinphoneCore mLc; - private OpenH264Helper mCodecDownloader; - private OpenH264HelperListener mCodecListener; - private OpenH264HelperAction mCodecAction; + private OpenH264DownloadHelper mCodecDownloader; + private OpenH264DownloadHelperListener mCodecListener; + private OpenH264DownloadHelperAction mCodecAction; private String lastLcStatusMessage; private String basePath; private static boolean sExited; @@ -225,7 +225,8 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } public void initOpenH264Helper() { - mCodecListener = new OpenH264HelperListener() { + mCodecDownloader = new OpenH264DownloadHelper(); + mCodecListener = new OpenH264DownloadHelperListener() { ProgressDialog progress; int box = 1; int ctxt = 0; @@ -235,8 +236,9 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag mHandler.post(new Runnable() { @Override public void run() { + OpenH264DownloadHelper ohcodec = LinphoneManager.getInstance().getOpenH264DownloadHelper(); if (progress == null) { - progress = new ProgressDialog((Context)LinphoneManager.getInstance().getOpenH264Helper().getUserData(ctxt)); + progress = new ProgressDialog((Context)ohcodec.getUserData(ctxt)); progress.setCanceledOnTouchOutside(false); progress.setCancelable(false); progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); @@ -248,24 +250,24 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag } else { progress.dismiss(); progress = null; - LinphoneCoreFactoryImpl.loadOptionalLibraryWithPath(((Context)LinphoneManager.getInstance().getOpenH264Helper().getUserData(ctxt)).getFilesDir() + "/" + OpenH264Helper.getNameLib()); + LinphoneCoreFactoryImpl.loadOptionalLibraryWithPath(((Context)ohcodec.getUserData(ctxt)).getFilesDir() + "/" + mCodecDownloader.getNameLib()); LinphoneManager.getLc().reloadMsPlugins(null); - if (LinphoneManager.getInstance().getOpenH264Helper().getUserDataSize() > box - && LinphoneManager.getInstance().getOpenH264Helper().getUserData(box) != null) - ((CheckBoxPreference)LinphoneManager.getInstance().getOpenH264Helper().getUserData(box)).setSummary(OpenH264Helper.getLicenseMessage()); + if (ohcodec.getUserDataSize() > box + && ohcodec.getUserData(box) != null) + ((CheckBoxPreference)ohcodec.getUserData(box)).setSummary(mCodecDownloader.getLicenseMessage()); } } }); } @Override - public void OnDownloadFailure (final String error){ + public void OnError (final String error){ if (progress == null) return; mHandler.post(new Runnable() { @Override public void run() { if (progress != null) progress.dismiss(); - AlertDialog.Builder builder = new AlertDialog.Builder((Context)LinphoneManager.getInstance().getOpenH264Helper().getUserData(ctxt)); + AlertDialog.Builder builder = new AlertDialog.Builder((Context)LinphoneManager.getInstance().getOpenH264DownloadHelper().getUserData(ctxt)); builder.setMessage("Sorry an error has occurred."); builder.setCancelable(false); builder.setNeutralButton("Ok", null); @@ -274,7 +276,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag }); } }; - mCodecAction = new OpenH264HelperAction() { + mCodecAction = new OpenH264DownloadHelperAction() { @Override public void startDownload() { askPopUp(); @@ -284,7 +286,7 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag AlertDialog.Builder builder = new AlertDialog.Builder(LinphoneManager.getInstance().getContext()); builder.setCancelable(false); AlertDialog.Builder show = builder.setMessage("Do you agree to download " - + OpenH264Helper.getLicenseMessage()).setPositiveButton("Yes", new DialogInterface.OnClickListener(){ + + mCodecDownloader.getLicenseMessage()).setPositiveButton("Yes", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface dialog, int which) { if (which == DialogInterface.BUTTON_POSITIVE) @@ -301,20 +303,19 @@ public class LinphoneManager implements LinphoneCoreListener, LinphoneChatMessag }).show(); } }; - mCodecDownloader = new OpenH264Helper(); mCodecDownloader.setOpenH264HelperListener(mCodecListener); mCodecDownloader.setOpenH264HelperAction(mCodecAction); } - public OpenH264HelperListener getOpenH264HelperListener() { + public OpenH264DownloadHelperListener getOpenH264HelperListener() { return mCodecListener; } - public OpenH264HelperAction getOpenH264HelperAction() { + public OpenH264DownloadHelperAction getOpenH264HelperAction() { return mCodecAction; } - public OpenH264Helper getOpenH264Helper(){ + public OpenH264DownloadHelper getOpenH264DownloadHelper(){ return mCodecDownloader; } diff --git a/src/org/linphone/SettingsFragment.java b/src/org/linphone/SettingsFragment.java index 437de8de1..cb3aca8cc 100644 --- a/src/org/linphone/SettingsFragment.java +++ b/src/org/linphone/SettingsFragment.java @@ -33,7 +33,7 @@ import org.linphone.core.PayloadType; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; -import org.linphone.tools.OpenH264Helper; +import org.linphone.tools.OpenH264DownloadHelper; import org.linphone.ui.LedPreference; import org.linphone.ui.PreferencesListFragment; @@ -554,6 +554,7 @@ public class SettingsFragment extends PreferencesListFragment { codecs.removeAll(); LinphoneCore lc = LinphoneManager.getLcIfManagerNotDestroyedOrNull(); + final OpenH264DownloadHelper mCodecDownloader = LinphoneManager.getInstance().getOpenH264DownloadHelper(); for (final PayloadType pt : lc.getVideoCodecs()) { final CheckBoxPreference codec = new CheckBoxPreference(getActivity()); codec.setTitle(pt.getMime()); @@ -570,8 +571,9 @@ public class SettingsFragment extends PreferencesListFragment { } } } - if (pt.getMime().equals("H264") && OpenH264Helper.codecExist()) - codec.setSummary(OpenH264Helper.getLicenseMessage()); + mCodecDownloader.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); + if (pt.getMime().equals("H264") && mCodecDownloader.isCodecFound()) + codec.setSummary(mCodecDownloader.getLicenseMessage()); codec.setChecked(lc.isPayloadTypeEnabled(pt)); codec.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { @@ -579,14 +581,13 @@ public class SettingsFragment extends PreferencesListFragment { public boolean onPreferenceChange(Preference preference, Object newValue) { boolean enable = (Boolean) newValue; try { - OpenH264Helper.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); if (enable && Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86") - && pt.getMime().equals("H264") && !OpenH264Helper.codecExist()) { - LinphoneManager.getInstance().getOpenH264Helper().setOpenH264HelperListener(LinphoneManager.getInstance().getOpenH264HelperListener()); - LinphoneManager.getInstance().getOpenH264Helper().setOpenH264HelperAction(LinphoneManager.getInstance().getOpenH264Helper().getOpenH264HelperAction()); - LinphoneManager.getInstance().getOpenH264Helper().setUserData(0,LinphoneManager.getInstance().getContext()); - LinphoneManager.getInstance().getOpenH264Helper().setUserData(1,codec); - LinphoneManager.getInstance().getOpenH264Helper().getOpenH264HelperAction().startDownload(); + && pt.getMime().equals("H264") && !mCodecDownloader.isCodecFound()) { + LinphoneManager.getInstance().getOpenH264DownloadHelper().setOpenH264HelperListener(LinphoneManager.getInstance().getOpenH264HelperListener()); + LinphoneManager.getInstance().getOpenH264DownloadHelper().setOpenH264HelperAction(LinphoneManager.getInstance().getOpenH264DownloadHelper().getOpenH264DownloadHelperAction()); + LinphoneManager.getInstance().getOpenH264DownloadHelper().setUserData(0,LinphoneManager.getInstance().getContext()); + LinphoneManager.getInstance().getOpenH264DownloadHelper().setUserData(1,codec); + LinphoneManager.getInstance().getOpenH264DownloadHelper().getOpenH264DownloadHelperAction().startDownload(); } LinphoneManager.getLcIfManagerNotDestroyedOrNull().enablePayloadType(pt, enable); } catch (LinphoneCoreException e) { diff --git a/src/org/linphone/assistant/AssistantActivity.java b/src/org/linphone/assistant/AssistantActivity.java index f918e3d77..82b7f79e5 100644 --- a/src/org/linphone/assistant/AssistantActivity.java +++ b/src/org/linphone/assistant/AssistantActivity.java @@ -33,7 +33,7 @@ import org.linphone.core.LinphoneCoreListenerBase; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; -import org.linphone.tools.OpenH264Helper; +import org.linphone.tools.OpenH264DownloadHelper; import android.Manifest; import android.app.Activity; @@ -355,8 +355,9 @@ private static AssistantActivity instance; } private void launchDownloadCodec() { - OpenH264Helper.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); - if (Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86") && !OpenH264Helper.codecExist()) { + OpenH264DownloadHelper downloadHelper = new OpenH264DownloadHelper(); + downloadHelper.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); + if (Version.getCpuAbis().contains("armeabi-v7a") && !Version.getCpuAbis().contains("x86") && !downloadHelper.isCodecFound()) { CodecDownloaderFragment codecFragment = new CodecDownloaderFragment(); changeFragment(codecFragment); currentFragment = AssistantFragmentsEnum.DOWNLOAD_CODEC; diff --git a/src/org/linphone/assistant/CodecDownloaderFragment.java b/src/org/linphone/assistant/CodecDownloaderFragment.java index 3ff48f350..8597f650d 100644 --- a/src/org/linphone/assistant/CodecDownloaderFragment.java +++ b/src/org/linphone/assistant/CodecDownloaderFragment.java @@ -31,11 +31,11 @@ import android.widget.TextView; import org.linphone.LinphoneManager; import org.linphone.R; -import org.linphone.core.OpenH264HelperListener; +import org.linphone.core.OpenH264DownloadHelperListener; import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneCoreFactoryImpl; import org.linphone.core.PayloadType; -import org.linphone.tools.OpenH264Helper; +import org.linphone.tools.OpenH264DownloadHelper; /** * @author Erwan CROZE @@ -57,10 +57,9 @@ public class CodecDownloaderFragment extends Fragment { final ProgressBar bar = (ProgressBar) view.findViewById(R.id.progressBar); final TextView downloadingInfo = (TextView) view.findViewById(R.id.downloadingInfo); - OpenH264Helper.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); - - final OpenH264Helper codecDownloader = new OpenH264Helper(); - final OpenH264HelperListener codecListener = new OpenH264HelperListener() { + final OpenH264DownloadHelper codecDownloader = new OpenH264DownloadHelper(); + codecDownloader.setFileDirection(LinphoneManager.getInstance().getContext().getFilesDir().toString()); + final OpenH264DownloadHelperListener codecListener = new OpenH264DownloadHelperListener() { @Override public void OnProgress(final int current, final int max) { @@ -76,7 +75,7 @@ public class CodecDownloaderFragment extends Fragment { } else { downloadingInfo.setVisibility(View.INVISIBLE); bar.setVisibility(View.INVISIBLE); - LinphoneCoreFactoryImpl.loadOptionalLibraryWithPath(LinphoneManager.getInstance().getContext().getFilesDir() + "/" + OpenH264Helper.getNameLib()); + LinphoneCoreFactoryImpl.loadOptionalLibraryWithPath(LinphoneManager.getInstance().getContext().getFilesDir() + "/" + codecDownloader.getNameLib()); LinphoneManager.getLc().reloadMsPlugins(null); downloading.setVisibility(View.INVISIBLE); downloaded.setVisibility(View.VISIBLE); @@ -88,7 +87,7 @@ public class CodecDownloaderFragment extends Fragment { } @Override - public void OnDownloadFailure (final String error){ + public void OnError (final String error){ mHandler.post(new Runnable() { @Override public void run() { diff --git a/submodules/linphone b/submodules/linphone index e0c204fb2..7ab235c55 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit e0c204fb2b82b2b7c12d8030a94029395d5dd30d +Subproject commit 7ab235c55a337f68e404097d6e76baf6edc11b4f