diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java
index cfd79fe20a..926af520e4 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java
+++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/notice/NoticeTrafficDialog.java
@@ -2,26 +2,33 @@ package com.mogo.eagle.core.function.hmi.ui.notice;
import android.content.Context;
import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
+import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
+import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
+import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import com.mogo.eagle.core.data.notice.NoticeTrafficStylePushData;
+import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack;
+import com.mogo.eagle.core.function.call.notice.CallerNoticeManager;
import com.mogo.eagle.core.function.hmi.R;
import com.mogo.eagle.core.widget.media.video.SimpleVideoPlayer;
+import com.mogo.module.common.MogoApisHandler;
import com.mogo.module.common.dialog.BaseFloatDialog;
+import com.mogo.service.imageloader.MogoImageView;
import com.mogo.utils.BitmapHelper;
import com.shuyu.gsyvideoplayer.builder.GSYVideoOptionBuilder;
-import com.shuyu.gsyvideoplayer.listener.VideoAllCallBack;
import com.shuyu.gsyvideoplayer.video.base.GSYVideoView;
/**
* @author liujing
- * @description 描述
+ * @description 交警类型弹框
* @since: 10/26/21
*/
public class NoticeTrafficDialog extends BaseFloatDialog {
@@ -32,15 +39,23 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
private NoticeTrafficStylePushData mPushData;
private ImageView close;
private ImageView playImageView;
- private ImageView thumbnailImage;
+ private MogoImageView thumbnailImage;
private GSYVideoOptionBuilder gsyVideoOptionBuilder = new GSYVideoOptionBuilder();
+ private Bitmap firstBitmap;
+ private TextView accept;//接受
+ private TextView refuse;//拒绝
public NoticeTrafficDialog(@NonNull Context context, NoticeTrafficStylePushData pushData) {
super(context);
mContext = context;
mPushData = pushData;
- mPushData.setPoiImgUrl("https://vd2.bdstatic.com/mda-mk1347dzxdmcre0y/sc/cae_h264/1635819498112313003/mda-mk1347dzxdmcre0y.mp4?v_from_s=hkapp-haokan-tucheng&auth_key=1635837585-0-0-5295f6658c7711ba7b4d3ef478a7fbaa&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=");
+ //图片
+ String image = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fc-ssl.duitang.com%2Fuploads%2Fitem%2F201609%2F26%2F20160926081306_GM2tv.thumb.1000_0.jpeg&refer=http%3A%2F%2Fc-ssl.duitang.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1638511084&t=92def7498b526dcba3fceda17c43fcb8";
+ String video = "https://vd2.bdstatic.com/mda-mk1347dzxdmcre0y/sc/cae_h264/1635819498112313003/mda-mk1347dzxdmcre0y.mp4?v_from_s=hkapp-haokan-tucheng&auth_key=1635837585-0-0-5295f6658c7711ba7b4d3ef478a7fbaa&bcevod_channel=searchbox_feed&pd=1&pt=3&abtest=";
+ mPushData.setPoiImgUrl(image);
+ mPushData.setType(0);
+ mPushData.setInfoId("905456829553946624");
initView();
}
@@ -50,13 +65,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
public void initView() {
setContentView(R.layout.notice_dialog_traffic_police);
- mVideoPlayer = findViewById(R.id.video_player);
- thumbnailImage = findViewById(R.id.thumbnail_image);
- playImageView = this.findViewById(R.id.window_video_play);
- close = findViewById(R.id.notice_traffic_dialog_close);
- close.setOnClickListener(v -> {
- dismiss();
- });
+ playerShow();
//网格绘制
try {
mRecyclerView = findViewById(R.id.traffic_info_recyclerView);
@@ -73,6 +82,67 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
NoticeTrafficAdapter adapter = new NoticeTrafficAdapter(mContext);
mRecyclerView.setAdapter(adapter);
+ accept = findViewById(R.id.accept_traffic);
+ refuse = findViewById(R.id.refuse_traffic);
+ accept.setOnClickListener(v -> {
+ feedBackTraffic(1);
+ });
+ refuse.setOnClickListener(v -> {
+ feedBackTraffic(0);
+ });
+ //重新连接
+ findViewById(R.id.notice_connect).setOnClickListener(v -> {
+ requestTrafficInfo();
+ });
+ }
+
+ /**
+ * @param i 是否接受交通事故任务
+ * 0不接收 1接受
+ */
+ private void feedBackTraffic(int i) {
+ CallerNoticeManager.getNoticeProvider().feedBackNoticeTraffic(mPushData.getInfoId(), MoGoAiCloudClientConfig.getInstance().getSn(), 1);
+ }
+
+ /**
+ * 获取交通事故详情
+ */
+ private void requestTrafficInfo() {
+ Log.d(TAG, "requestTrafficInfo");
+ CallerNoticeManager.getNoticeProvider().requestAccidentInfo(mPushData.getInfoId(), MoGoAiCloudClientConfig.getInstance().getSn(), new NoticeNetCallBack() {
+ @Override
+ public void callBackWithResult(NoticeTrafficStyleInfo trafficInfo) {
+ Log.d(TAG, "交通事故详情::" + trafficInfo);
+ }
+ });
+ }
+
+ /**
+ * 根据推送消息渲染顶部图片/视频
+ * type 0图片 1视频
+ */
+ private void playerShow() {
+ mVideoPlayer = findViewById(R.id.video_player);
+ thumbnailImage = findViewById(R.id.thumbnail_image);
+ playImageView = this.findViewById(R.id.notice_start);
+ playImageView.setOnClickListener(v -> {
+ startLive();
+ });
+ close = findViewById(R.id.notice_traffic_dialog_close);
+ close.setOnClickListener(v -> {
+ dismiss();
+ });
+ if (mPushData.getType() == 1) {
+ firstBitmap = BitmapHelper.getVideoThumbnail(mPushData.getPoiImgUrl());/*获取视频第一帧图*/
+ complete(firstBitmap);
+ playImageView.setVisibility(View.VISIBLE);
+ } else {
+ MogoApisHandler.getInstance().getApis().getImageLoaderApi().displayImage(mPushData.getPoiImgUrl(),
+ thumbnailImage);
+ thumbnailImage.setImageBitmap(firstBitmap);
+ thumbnailImage.setVisibility(View.VISIBLE);
+ playImageView.setVisibility(View.INVISIBLE);
+ }
mVideoPlayer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -83,7 +153,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
}
}
});
-// startLive();
+
}
/**
@@ -112,7 +182,7 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
/**
* 播放结束后
*/
- private void complete(Bitmap firstbitmap, String path) {
+ private void complete(Bitmap firstbitmap) {
thumbnailImage.setVisibility(View.VISIBLE);
thumbnailImage.setImageBitmap(firstbitmap);
playImageView.setImageResource(R.drawable.notice_video_play);
@@ -125,7 +195,6 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
});
}
-
/**
* 视频播放
*/
@@ -139,118 +208,12 @@ public class NoticeTrafficDialog extends BaseFloatDialog {
mVideoPlayer.getStartButton().performClick();
thumbnailImage.setVisibility(View.GONE);
playImageView.setVisibility(View.GONE);
- startVideoCallBack(videoUrl);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- private void startVideoCallBack(String path) {
- new Thread(new Runnable() {
- @Override
- public void run() {
- Bitmap firstBitmap = BitmapHelper.getVideoThumbnail(path);/*获取第一帧图*/
- mVideoPlayer.setVideoAllCallBack(new VideoAllCallBack() {
- @Override
- public void onAutoComplete(String url, Object... objects) {
- complete(firstBitmap, path);
- }
-
- @Override
- public void onClickResume(String url, Object... objects) {
- thumbnailImage.setVisibility(View.GONE);
- playImageView.setVisibility(View.GONE);
- }
-
- @Override
- public void onClickStop(String url, Object... objects) {
- Log.d(TAG, "onClickStop");
- }
-
- @Override
- public void onStartPrepared(String url, Object... objects) {
- Log.d(TAG, "onStartPrepared");
- }
-
- @Override
- public void onPrepared(String url, Object... objects) {
- }
-
- @Override
- public void onClickStartIcon(String url, Object... objects) {
- }
-
- @Override
- public void onClickStartError(String url, Object... objects) {
- }
-
- @Override
- public void onClickStopFullscreen(String url, Object... objects) {
- }
-
- @Override
- public void onClickResumeFullscreen(String url, Object... objects) {
- }
-
- @Override
- public void onClickSeekbar(String url, Object... objects) {
- }
-
- @Override
- public void onClickSeekbarFullscreen(String url, Object... objects) {
- }
-
- @Override
- public void onEnterFullscreen(String url, Object... objects) {
- }
-
- @Override
- public void onQuitFullscreen(String url, Object... objects) {
- }
-
- @Override
- public void onQuitSmallWidget(String url, Object... objects) {
- }
-
- @Override
- public void onEnterSmallWidget(String url, Object... objects) {
- }
-
- @Override
- public void onTouchScreenSeekVolume(String url, Object... objects) {
- }
-
- @Override
- public void onTouchScreenSeekPosition(String url, Object... objects) {
- }
-
- @Override
- public void onTouchScreenSeekLight(String url, Object... objects) {
- }
-
- @Override
- public void onPlayError(String url, Object... objects) {
- }
-
- @Override
- public void onClickStartThumb(String url, Object... objects) {
- }
-
- @Override
- public void onClickBlank(String url, Object... objects) {
- }
-
- @Override
- public void onClickBlankFullscreen(String url, Object... objects) {
- Log.d(TAG, "onClickBlankFullscreen");
-
- }
- });
- }
- }).start();
- }
-
public void cancel() {
}
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/notice_unsuccess_traffic.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/notice_unsuccess_traffic.png
new file mode 100644
index 0000000000..b695dfcb86
Binary files /dev/null and b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/notice_unsuccess_traffic.png differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/video_play.png b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/video_play.png
deleted file mode 100644
index 4c733621b6..0000000000
Binary files a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/video_play.png and /dev/null differ
diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml
index a67be825e5..bdfcd635ca 100644
--- a/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml
+++ b/core/function-impl/mogo-core-function-hmi/src/main/res/layout/notice_dialog_traffic_police.xml
@@ -38,7 +38,6 @@
android:layout_marginLeft="@dimen/dp_200"
android:layout_marginTop="@dimen/dp_50"
android:layout_marginRight="@dimen/dp_200"
- android:src="@drawable/notice_unsuccess_image"
app:layout_constraintBottom_toTopOf="@+id/module_push_dialog_bottom_title"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
@@ -47,25 +46,40 @@
+ app:layout_constraintBottom_toBottomOf="@id/video_player"
+ app:layout_constraintEnd_toEndOf="@id/video_player"
+ app:layout_constraintStart_toStartOf="@id/video_player"
+ app:layout_constraintTop_toTopOf="@id/video_player" />
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="@id/video_player"
+ app:layout_constraintLeft_toLeftOf="@id/video_player"
+ app:layout_constraintRight_toRightOf="@id/video_player"
+ app:layout_constraintTop_toTopOf="@id/video_player" />
+
+
+ app:layout_constraintRight_toRightOf="parent" />
getAccidentInfo(@FieldMap Map accidentParameters);
+ Observable getAccidentInfo(@FieldMap Map accidentParameters);
/**
- * 获取道路事故详情
+ * 反馈对道路事件的操作
*
* @param accidentParameters 请求数据(infoID事故ID;sn;status接受状态 0否 1是)
* @return {@link BaseData}
diff --git a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/network/NoticeNetWorkManager.java b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/network/NoticeNetWorkManager.java
index a8573c4888..a6aaaa8647 100644
--- a/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/network/NoticeNetWorkManager.java
+++ b/core/function-impl/mogo-core-function-notice/src/main/java/com/mogo/eagle/core/function/notice/network/NoticeNetWorkManager.java
@@ -5,7 +5,9 @@ import com.mogo.cloud.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.eagle.core.data.BaseData;
import com.mogo.eagle.core.data.notice.NoticeNormalDetail;
-import com.mogo.eagle.core.function.call.hmi.CallerHmiManager;
+import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
+
+import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack;
import com.mogo.utils.logger.Logger;
import java.util.HashMap;
@@ -46,10 +48,11 @@ public class NoticeNetWorkManager {
/**
* 获取事故详细信息
*
- * @param infoId 事故id
- * @param sn
+ * @param infoId 事故id
+ * @param sn 车机sn
+ * @param callBack 回调
*/
- public void requestAccidentInfo(String infoId, String sn) {
+ public void requestAccidentInfo(String infoId, String sn, NoticeNetCallBack callBack) {
String snString = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn();
Map map = new HashMap<>();
map.put("sn", sn);
@@ -57,15 +60,17 @@ public class NoticeNetWorkManager {
mNoticeApiService.getAccidentInfo(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
- .subscribe(new Observer() {
+ .subscribe(new Observer() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
- public void onNext(@NonNull BaseData baseData) {
-
+ public void onNext(@NonNull NoticeTrafficStyleInfo noticeTrafficStyleInfo) {
+ if (noticeTrafficStyleInfo != null) {
+ callBack.callBackWithResult(noticeTrafficStyleInfo);
+ }
}
@Override
@@ -87,12 +92,11 @@ public class NoticeNetWorkManager {
* @param sn
* @param status 是否接受 0否 1是
*/
- public void sendAccidentAcceptStatus(String infoId, String sn, String status) {
- String snString = MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn();
+ public void sendAccidentAcceptStatus(String infoId, String sn, int status) {
Map map = new HashMap<>();
map.put("sn", sn);
map.put("infoId", infoId);
- map.put("status", status);
+ map.put("status", String.valueOf(status));
mNoticeApiService.sendAcceptStatus(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -129,7 +133,6 @@ public class NoticeNetWorkManager {
Map map = new HashMap<>();
map.put("sn", sn);
map.put("infoId", dbId);
-
mNoticeApiService.getNoticeDetail(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
@@ -158,5 +161,4 @@ public class NoticeNetWorkManager {
}
-
}
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStyleInfo.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStyleInfo.java
index 5ac3e7863c..c0506d17eb 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStyleInfo.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStyleInfo.java
@@ -1,13 +1,15 @@
package com.mogo.eagle.core.data.notice;
+import com.mogo.eagle.core.data.BaseData;
+
import java.io.Serializable;
/**
* @author liujing
- * @description 交通事故任务详情数据bean
+ * @description 交通事故任务详情数据
* @since: 10/26/21
*/
-public class NoticeTrafficStyleInfo implements Serializable {
+public class NoticeTrafficStyleInfo extends BaseData {
private String infoId;//事故id
private String poiType;//事故类型
private long dataCreateTime;//事故发生时间
diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java
index c10d5b016b..f62fa64ce8 100644
--- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java
+++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/notice/NoticeTrafficStylePushData.java
@@ -1,12 +1,14 @@
package com.mogo.eagle.core.data.notice;
+import java.io.Serializable;
+
/**
* @author Jing
* @description 交警任务公告推送消息体
* 接口 http://wiki.zhidaohulian.com/pages/viewpage.action?pageId=66917469
* @since: 10/28/21
*/
-public class NoticeTrafficStylePushData {
+public class NoticeTrafficStylePushData implements Serializable {
private String msg;
private String infoId;
private String poiImgUrl;
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java
index c8ea129bcc..a5ab887ce0 100644
--- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/IMoGoNoticeProvider.java
@@ -4,10 +4,10 @@ import com.mogo.eagle.core.function.api.base.IMoGoFunctionServerProvider;
/**
* @author Jing
- * @description 云公告监听者
+ * @description
* @since: 10/27/21
*/
public interface IMoGoNoticeProvider extends IMoGoFunctionServerProvider {
-
-
+ void feedBackNoticeTraffic(String infoId, String sn, int accept);
+ void requestAccidentInfo(String infoId, String sn,NoticeNetCallBack callBack);
}
diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/NoticeNetCallBack.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/NoticeNetCallBack.java
new file mode 100644
index 0000000000..54fd204423
--- /dev/null
+++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/notice/NoticeNetCallBack.java
@@ -0,0 +1,12 @@
+package com.mogo.eagle.core.function.api.notice;
+
+import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
+
+/**
+ * @author Jing
+ * @description 网络请求回调
+ * @since: 11/3/21
+ */
+public interface NoticeNetCallBack {
+ void callBackWithResult(NoticeTrafficStyleInfo trafficInfo);
+}
diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java
index ad92134aed..f02b86fd56 100644
--- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java
+++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/notice/CallerNoticeManager.java
@@ -10,9 +10,7 @@ import static com.mogo.eagle.core.data.constants.MogoServicePaths.PATH_AI_NOTICE
*/
public class CallerNoticeManager extends CallerBase {
- private static IMoGoNoticeProvider getNoticeProvider() {
+ public static IMoGoNoticeProvider getNoticeProvider() {
return getApiInstance(IMoGoNoticeProvider.class, PATH_AI_NOTICE);
}
-
-
}
diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/CommonUtils.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/CommonUtils.java
index 144e1fbc62..b39ea6bcf0 100644
--- a/foudations/mogo-utils/src/main/java/com/mogo/utils/CommonUtils.java
+++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/CommonUtils.java
@@ -8,6 +8,8 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
+import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.wifi.WifiManager;
@@ -24,17 +26,21 @@ import androidx.core.content.ContextCompat;
import java.io.BufferedReader;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
+import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
+import java.net.URL;
import java.net.URLDecoder;
import java.net.URLEncoder;
import java.text.DecimalFormat;
import java.util.Enumeration;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
diff --git a/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RequestOptions.java b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RequestOptions.java
index 161d8f38e6..7844fbb8d6 100644
--- a/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RequestOptions.java
+++ b/foudations/mogo-utils/src/main/java/com/mogo/utils/network/RequestOptions.java
@@ -24,7 +24,7 @@ public class RequestOptions {
/**
* Private constructor with some default initialization.
*/
- private RequestOptions( @CallerType Object caller ) {
+ public RequestOptions(@CallerType Object caller) {
this.caller = caller;
this.context = Util.getContext( caller );
this.parameter = Collections.emptyMap();