8 changed files with 164 additions and 17 deletions
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
package com.kanglai.push.ui.activity; |
||||
|
||||
import android.content.Intent; |
||||
import android.os.Bundle; |
||||
|
||||
import com.blankj.utilcode.util.LogUtils; |
||||
import com.kanglai.push.R; |
||||
import androidx.databinding.library.baseAdapters.BR; |
||||
|
||||
import com.dolphin.core.base.BaseActivity; |
||||
import com.kanglai.push.databinding.ActivityLocationBinding; |
||||
import com.kanglai.push.ui.vm.LocationViewModel; |
||||
|
||||
/** |
||||
* 根据广播状态更新用户定位内容 |
||||
* |
||||
* @Author: liusixiang007 |
||||
* @since: 2024/4/2 |
||||
*/ |
||||
public class LocationActivity extends BaseActivity<ActivityLocationBinding, LocationViewModel> { |
||||
|
||||
@Override |
||||
public int setContentView(Bundle savedInstanceState) { |
||||
return R.layout.activity_location; |
||||
} |
||||
|
||||
@Override |
||||
public int setVariableId() { |
||||
return BR.viewModel; |
||||
} |
||||
|
||||
@Override |
||||
protected void onCreate(Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
Intent mIntent = getIntent(); |
||||
|
||||
LogUtils.d("--LocationActivity 获取的------纬度"+mIntent.getStringExtra("latitude") + "-------------经度" + mIntent.getStringExtra("longitude")); |
||||
// todo 获取到经纬度之后进行 直接上传 上传之后 销毁界面
|
||||
if (mIntent != null) mViewModel.loadLocation(mIntent.getStringExtra("latitude"), mIntent.getStringExtra("longitude")); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,82 @@
@@ -0,0 +1,82 @@
|
||||
package com.kanglai.push.ui.vm; |
||||
|
||||
import android.app.Application; |
||||
|
||||
import androidx.annotation.NonNull; |
||||
import androidx.lifecycle.LifecycleOwner; |
||||
|
||||
import com.blankj.utilcode.util.LogUtils; |
||||
import com.blankj.utilcode.util.Utils; |
||||
import com.dolphin.core.http.api.ResultResponse; |
||||
import com.dolphin.core.http.exception.ExceptionHandle; |
||||
import com.dolphin.core.util.RxUtil; |
||||
import com.kanglai.push.app.AppApplication; |
||||
import com.kanglai.push.di.component.DaggerServiceComponent; |
||||
import com.kanglai.push.entity.User; |
||||
import com.kanglai.push.service.PushService; |
||||
import com.kanglai.push.ui.activity.LocationActivity; |
||||
import com.kanglai.push.util.TimeFormatUtil; |
||||
|
||||
import javax.inject.Inject; |
||||
|
||||
import io.reactivex.observers.DisposableObserver; |
||||
|
||||
/** |
||||
* 根据广播状态更新用户定位内容 |
||||
* |
||||
* @Author: liusixiang007 |
||||
* @since: 2024/4/2 |
||||
*/ |
||||
public class LocationViewModel extends ToolbarViewModel<LocationActivity> { |
||||
|
||||
@Inject |
||||
PushService pushService; |
||||
|
||||
@Override |
||||
public void onCreate(@NonNull LifecycleOwner owner) { |
||||
super.onCreate(owner); |
||||
} |
||||
|
||||
public LocationViewModel(@NonNull Application application) { |
||||
super(application); |
||||
// 注入服务组件
|
||||
DaggerServiceComponent |
||||
.builder() |
||||
.appComponent(((AppApplication) Utils.getApp().getApplicationContext()).appComponent) |
||||
.build().inject(this); |
||||
} |
||||
|
||||
/** |
||||
* 上传经纬度信息 |
||||
* @param latitude 纬度 |
||||
* @param longitude 经度 |
||||
*/ |
||||
public void loadLocation(String latitude, String longitude) { |
||||
// todo 暂时没有正式的上传定位信息接口 以获取用户信息接口模拟
|
||||
pushService.getUserInfo() |
||||
.compose(RxUtil.schedulersTransformer()) |
||||
.compose(RxUtil.exceptionTransformer()) |
||||
.doOnSubscribe(this) |
||||
.subscribe(new DisposableObserver<ResultResponse<User>>() { |
||||
@Override |
||||
public void onNext(ResultResponse<User> R) { |
||||
if (R.getCode() == R.SUCCESS){ |
||||
LogUtils.d(TimeFormatUtil.getCurrentTime() + "定位请求上传成功-" + latitude + "/" + longitude); |
||||
}else LogUtils.d("定位成功 请求却未成功"); |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void onError(Throwable e) { |
||||
ExceptionHandle.baseExceptionMsg(e); |
||||
// mActivity.finish();
|
||||
} |
||||
|
||||
@Override |
||||
public void onComplete() { |
||||
// todo 无论成功与否 全部停止当前活动
|
||||
// mActivity.finish();
|
||||
} |
||||
}); |
||||
} |
||||
} |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<layout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
xmlns:binding="http://schemas.android.com/apk/res-auto"> |
||||
<data> |
||||
<variable name="viewModel" type="com.kanglai.push.ui.vm.LocationViewModel" /> |
||||
</data> |
||||
<LinearLayout |
||||
android:layout_width="match_parent" |
||||
android:layout_height="match_parent" |
||||
android:orientation="vertical"> |
||||
</LinearLayout> |
||||
</layout> |
Loading…
Reference in new issue