Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
A
AllApiDemo
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
steve
AllApiDemo
Commits
3a3a064b
Commit
3a3a064b
authored
Feb 16, 2022
by
steve
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改-部分class命名, 新增-api静态header和动态参数
parent
09f4ee4c
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
90 additions
and
100 deletions
+90
-100
Constants.kt
app/src/main/java/com/example/simboxapi/Constants.kt
+0
-5
ViewModelRepository.kt
...in/java/com/example/simboxapi/data/ViewModelRepository.kt
+15
-16
ApiClient.kt
...src/main/java/com/example/simboxapi/data/api/ApiClient.kt
+7
-6
ApiService.kt
...rc/main/java/com/example/simboxapi/data/api/ApiService.kt
+35
-0
ApiSystemService.kt
...n/java/com/example/simboxapi/data/api/ApiSystemService.kt
+0
-45
BaseUrlInterceptor.kt
...java/com/example/simboxapi/data/api/BaseUrlInterceptor.kt
+5
-6
ChangeSimActivity.kt
...a/com/example/simboxapi/ui/changeSim/ChangeSimActivity.kt
+11
-6
ChangeSimViewModel.kt
.../com/example/simboxapi/ui/changeSim/ChangeSimViewModel.kt
+3
-2
QueryCountryInfoActivity.kt
...simboxapi/ui/queryCountryInfo/QueryCountryInfoActivity.kt
+11
-6
QueryCountryInfoViewModel.kt
...imboxapi/ui/queryCountryInfo/QueryCountryInfoViewModel.kt
+3
-2
ic_launcher_round.xml
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+0
-6
ic_launcher_round.webp
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
+0
-0
No files found.
app/src/main/java/com/example/simboxapi/Constants.kt
View file @
3a3a064b
package
com.example.simboxapi
package
com.example.simboxapi
object
Constants
{
object
Constants
{
val
APP_VERSION
:
String
=
"GlocalMe Call"
var
BASE_URL
:
String
=
"https://voip-tsm.ucloudlink.com/"
var
BASE_URL
:
String
=
"https://voip-tsm.ucloudlink.com/"
}
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/data/ViewModelRepository.kt
View file @
3a3a064b
package
com.example.simboxapi.data
package
com.example.simboxapi.data
import
android.util.Log
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.liveData
import
androidx.lifecycle.liveData
import
com.example.simboxapi.base.BaseResponse
import
com.example.simboxapi.base.BaseResponse
import
com.example.simboxapi.data.api.ApiS
ystemS
ervice
import
com.example.simboxapi.data.api.ApiService
import
com.example.simboxapi.data.entirys.CountryDataBean
import
com.example.simboxapi.data.entirys.CountryDataBean
import
com.example.simboxapi.data.entirys.OnOffImisDataBean
import
com.example.simboxapi.data.entirys.OnOffImisDataBean
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.Dispatchers
import
kotlinx.coroutines.joinAll
import
okhttp3.MediaType.Companion.toMediaTypeOrNull
import
okhttp3.MediaType.Companion.toMediaTypeOrNull
import
okhttp3.RequestBody.Companion.toRequestBody
import
okhttp3.RequestBody.Companion.toRequestBody
import
org.json.JSONArray
import
org.json.JSONArray
import
org.json.JSONObject
import
org.json.JSONObject
import
java.lang.Exception
import
java.lang.Exception
class
ViewModelRepository
(
private
val
apiS
ystemService
:
ApiSystem
Service
)
{
class
ViewModelRepository
(
private
val
apiS
ervice
:
Api
Service
)
{
companion
object
{
companion
object
{
fun
getInstance
(
apiS
ystemService
:
ApiSystem
Service
):
ViewModelRepository
{
fun
getInstance
(
apiS
ervice
:
Api
Service
):
ViewModelRepository
{
return
ViewModelRepository
(
apiS
ystemS
ervice
)
return
ViewModelRepository
(
apiService
)
}
}
}
}
...
@@ -34,26 +32,26 @@ class ViewModelRepository(private val apiSystemService: ApiSystemService) {
...
@@ -34,26 +32,26 @@ class ViewModelRepository(private val apiSystemService: ApiSystemService) {
}
}
}
}
fun
apiPostQueryCountryInfo
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
CountryDataBean
>>>>
{
fun
apiPostQueryCountryInfo
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
CountryDataBean
>>>>
{
val
jsonObject
=
JSONObject
()
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"langType"
,
langType
)
jsonObject
.
put
(
"langType"
,
langType
)
jsonObject
.
put
(
"loginCustomerId"
,
loginCustomerId
)
jsonObject
.
put
(
"loginCustomerId"
,
loginCustomerId
)
jsonObject
.
put
(
"partnerCode"
,
partnerCode
)
jsonObject
.
put
(
"partnerCode"
,
partnerCode
)
jsonObject
.
put
(
"streamNo"
,
streamNo
)
jsonObject
.
put
(
"streamNo"
,
streamNo
)
val
body
=
jsonObject
.
toString
().
toRequestBody
(
"application/json"
.
toMediaTypeOrNull
())
val
body
=
jsonObject
.
toString
().
toRequestBody
(
"application/json"
.
toMediaTypeOrNull
())
return
execute
{
apiS
ystemService
.
apiQueryCountryInfo
(
body
)
}
return
execute
{
apiS
ervice
.
apiQueryCountryInfo
(
body
,
cookie
,
voipId
)
}
}
}
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomerId
:
String
,
offImsiList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>>>
{
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomerId
:
String
,
offImsiList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
,
userLabel
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>>>
{
val
jsonObject
=
JSONObject
()
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"imei"
,
imei
)
jsonObject
.
put
(
"imei"
,
imei
)
jsonObject
.
put
(
"loginCustomerId"
,
loginCustomerId
)
jsonObject
.
put
(
"loginCustomerId"
,
loginCustomerId
)
jsonObject
.
put
(
"offImsiList"
,
JSONArray
(
offImsiList
))
jsonObject
.
put
(
"offImsiList"
,
JSONArray
(
offImsiList
))
jsonObject
.
put
(
"onImsiList"
,
JSONArray
(
onImsiList
))
jsonObject
.
put
(
"onImsiList"
,
JSONArray
(
onImsiList
))
jsonObject
.
put
(
"partnerCode"
,
partnerCode
)
jsonObject
.
put
(
"partnerCode"
,
partnerCode
)
jsonObject
.
put
(
"streamNo"
,
streamNo
)
jsonObject
.
put
(
"streamNo"
,
streamNo
)
val
body
=
jsonObject
.
toString
().
toRequestBody
(
"application/json"
.
toMediaTypeOrNull
())
val
body
=
jsonObject
.
toString
().
toRequestBody
(
"application/json"
.
toMediaTypeOrNull
())
return
execute
{
apiS
ystemService
.
apiOnOffImsi
(
body
)
}
return
execute
{
apiS
ervice
.
apiOnOffImsi
(
body
,
cookie
,
voipId
,
userLabel
)
}
}
}
}
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/data/api/Api
System
Client.kt
→
app/src/main/java/com/example/simboxapi/data/api/ApiClient.kt
View file @
3a3a064b
...
@@ -7,9 +7,9 @@ import retrofit2.Retrofit
...
@@ -7,9 +7,9 @@ import retrofit2.Retrofit
import
retrofit2.converter.gson.GsonConverterFactory
import
retrofit2.converter.gson.GsonConverterFactory
import
java.util.concurrent.TimeUnit
import
java.util.concurrent.TimeUnit
class
Api
System
Client
(
val
context
:
Context
)
{
class
ApiClient
(
val
context
:
Context
)
{
val
apiS
ystemService
:
ApiSystem
Service
by
lazy
{
provideApiService
()
}
val
apiS
ervice
:
Api
Service
by
lazy
{
provideApiService
()
}
companion
object
{
companion
object
{
...
@@ -17,12 +17,12 @@ class ApiSystemClient(val context: Context) {
...
@@ -17,12 +17,12 @@ class ApiSystemClient(val context: Context) {
const
val
WRITE_TIME_OUT
=
20000L
const
val
WRITE_TIME_OUT
=
20000L
const
val
READ_TIME_OUT
=
20000L
const
val
READ_TIME_OUT
=
20000L
fun
getInstance
(
context
:
Context
):
Api
SystemClient
=
ApiSystem
Client
(
context
.
applicationContext
)
fun
getInstance
(
context
:
Context
):
Api
Client
=
Api
Client
(
context
.
applicationContext
)
}
}
private
fun
provideOkHttpClient
():
OkHttpClient
{
private
fun
provideOkHttpClient
():
OkHttpClient
{
return
OkHttpClient
.
Builder
().
run
{
return
OkHttpClient
.
Builder
().
run
{
addInterceptor
(
System
UrlInterceptor
.
getInstance
())
addInterceptor
(
Base
UrlInterceptor
.
getInstance
())
connectTimeout
(
CONNECTION_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
connectTimeout
(
CONNECTION_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
writeTimeout
(
WRITE_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
writeTimeout
(
WRITE_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
readTimeout
(
READ_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
readTimeout
(
READ_TIME_OUT
,
TimeUnit
.
MILLISECONDS
)
...
@@ -39,9 +39,9 @@ class ApiSystemClient(val context: Context) {
...
@@ -39,9 +39,9 @@ class ApiSystemClient(val context: Context) {
}
}
}
}
private
fun
provideApiService
():
ApiS
ystemS
ervice
{
private
fun
provideApiService
():
ApiService
{
val
okHttpClient
=
provideOkHttpClient
()
val
okHttpClient
=
provideOkHttpClient
()
val
retrofit
=
provideRetrofit
(
okHttpClient
)
val
retrofit
=
provideRetrofit
(
okHttpClient
)
return
retrofit
.
create
(
ApiS
ystemS
ervice
::
class
.
java
)
return
retrofit
.
create
(
ApiService
::
class
.
java
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/data/api/ApiService.kt
0 → 100644
View file @
3a3a064b
package
com.example.simboxapi.data.api
import
com.example.simboxapi.base.BaseResponse
import
com.example.simboxapi.data.entirys.CountryDataBean
import
com.example.simboxapi.data.entirys.OnOffImisDataBean
import
okhttp3.RequestBody
import
retrofit2.http.Body
import
retrofit2.http.Header
import
retrofit2.http.Headers
import
retrofit2.http.POST
interface
ApiService
{
@Headers
(
"Content-Type:application/json"
,
"Partner-code:simbox"
,
"Accept-Language:zh-CN"
,
"langType:zh-CN"
,
"App-Version:1.9.03"
)
@POST
(
"bss/app/noauth/QueryCoverCountyInfo"
)
suspend
fun
apiQueryCountryInfo
(
@Body
body
:
RequestBody
,
@Header
(
"Cookie"
)
cookie
:
String
,
@Header
(
"voipId"
)
voipId
:
String
):
BaseResponse
<
ArrayList
<
CountryDataBean
>>
@Headers
(
"Content-Type:application/json"
,
"Partner-code:simbox"
,
"Accept-Language:zh-CN"
,
"langType:zh-CN"
,
"app-Version:1.9.03"
)
@POST
(
"bss/dsds/card/OnOffImsi"
)
suspend
fun
apiOnOffImsi
(
@Body
body
:
RequestBody
,
@Header
(
"Cookie"
)
cookie
:
String
,
@Header
(
"voipId"
)
voipId
:
String
,
@Header
(
"userLabel"
)
userLabel
:
String
):
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/data/api/ApiSystemService.kt
deleted
100644 → 0
View file @
09f4ee4c
package
com.example.simboxapi.data.api
import
com.example.simboxapi.base.BaseResponse
import
com.example.simboxapi.data.entirys.CountryDataBean
import
com.example.simboxapi.data.entirys.OnOffImisDataBean
import
okhttp3.RequestBody
import
retrofit2.http.Body
import
retrofit2.http.POST
interface
ApiSystemService
{
// /**
// * 登陆
// */
// @POST("api/appUnicorn/login")
// suspend fun apiPostLogin(
// @Query("account") account: String, @Query("password") password: String, @Query("uuid") uuid: String, @Query("device") device: String,
// @Query("type") loginType: String
// ): BaseResponse<LoginDataBean>
//
// /**
// * 取得驗證碼
// */
// @GET("api/appUnicorn/verificationCode/exec")
// suspend fun <T> apiGetVerificationCode(
// @Query("mobile") mobile: String
// ): BaseResponse<T>
//
// /**
// * 注册
// */
// @POST("api/appUnicorn/appUser/addData")
// suspend fun apiPostRegister(
// @Query("account") account: String, @Query("password") pwd: String, @Query("verification_code") verifyCode: String,
// @Query("invite_code") inviteCode: String, @Query("qna_item") quaItem: String, @Query("qna_ans") qnaAns: String
// ): BaseResponse<RegisterDataBean>
@POST
(
"bss/app/noauth/QueryCoverCountyInfo"
)
suspend
fun
apiQueryCountryInfo
(
@Body
body
:
RequestBody
):
BaseResponse
<
ArrayList
<
CountryDataBean
>>
@POST
(
"bss/dsds/card/OnOffImsi"
)
suspend
fun
apiOnOffImsi
(
@Body
body
:
RequestBody
):
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/data/api/
System
UrlInterceptor.kt
→
app/src/main/java/com/example/simboxapi/data/api/
Base
UrlInterceptor.kt
View file @
3a3a064b
...
@@ -7,11 +7,11 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
...
@@ -7,11 +7,11 @@ import okhttp3.HttpUrl.Companion.toHttpUrlOrNull
import
okhttp3.Interceptor
import
okhttp3.Interceptor
import
okhttp3.Response
import
okhttp3.Response
class
System
UrlInterceptor
:
Interceptor
{
class
Base
UrlInterceptor
:
Interceptor
{
companion
object
{
companion
object
{
private
val
TAG
=
System
UrlInterceptor
::
class
.
java
.
simpleName
.
toString
()
private
val
TAG
=
Base
UrlInterceptor
::
class
.
java
.
simpleName
.
toString
()
fun
getInstance
():
SystemUrlInterceptor
=
System
UrlInterceptor
()
fun
getInstance
():
BaseUrlInterceptor
=
Base
UrlInterceptor
()
}
}
override
fun
intercept
(
chain
:
Interceptor
.
Chain
):
Response
{
override
fun
intercept
(
chain
:
Interceptor
.
Chain
):
Response
{
...
@@ -19,10 +19,9 @@ class SystemUrlInterceptor : Interceptor {
...
@@ -19,10 +19,9 @@ class SystemUrlInterceptor : Interceptor {
val
request
=
chain
.
request
()
//获取 request
val
request
=
chain
.
request
()
//获取 request
val
oldHttpUrl
=
request
.
url
//从 request 中获取原有的 HttpUrl 实例 oldHttpUrl
val
oldHttpUrl
=
request
.
url
//从 request 中获取原有的 HttpUrl 实例 oldHttpUrl
val
builder
=
request
.
newBuilder
()
//获取 request 的创建 builder
val
builder
=
request
.
newBuilder
()
//获取 request 的创建 builder
builder
.
removeHeader
(
"urlname"
)
//
批配获得
新的 BaseUrl
//
刪除原本的 url, 獲取
新的 BaseUrl
Log
.
d
(
TAG
,
"intercept: $oldHttpUrl
"
)
builder
.
removeHeader
(
"urlname
"
)
val
newBaseUrl
:
HttpUrl
?
=
Constants
.
BASE_URL
.
toHttpUrlOrNull
()
val
newBaseUrl
:
HttpUrl
?
=
Constants
.
BASE_URL
.
toHttpUrlOrNull
()
//重建新的 HttpUrl, 修改需要修改url的部份
//重建新的 HttpUrl, 修改需要修改url的部份
...
...
app/src/main/java/com/example/simboxapi/ui/changeSim/ChangeSimActivity.kt
View file @
3a3a064b
...
@@ -9,10 +9,9 @@ import androidx.lifecycle.ViewModelProvider
...
@@ -9,10 +9,9 @@ import androidx.lifecycle.ViewModelProvider
import
com.example.simboxapi.data.Status
import
com.example.simboxapi.data.Status
import
com.example.simboxapi.data.ViewModelFactory
import
com.example.simboxapi.data.ViewModelFactory
import
com.example.simboxapi.data.ViewModelRepository
import
com.example.simboxapi.data.ViewModelRepository
import
com.example.simboxapi.data.api.Api
System
Client
import
com.example.simboxapi.data.api.ApiClient
import
com.example.simboxapi.databinding.ActivityChangeSimBinding
import
com.example.simboxapi.databinding.ActivityChangeSimBinding
import
com.example.simboxapi.utils.DatePattern
import
com.example.simboxapi.utils.DatePattern
import
kotlinx.coroutines.flow.combine
import
java.text.SimpleDateFormat
import
java.text.SimpleDateFormat
import
java.util.*
import
java.util.*
import
kotlin.collections.ArrayList
import
kotlin.collections.ArrayList
...
@@ -40,19 +39,25 @@ class ChangeSimActivity : AppCompatActivity(), View.OnClickListener {
...
@@ -40,19 +39,25 @@ class ChangeSimActivity : AppCompatActivity(), View.OnClickListener {
when
(
view
){
when
(
view
){
mVB
.
btnChangeSimPostApi
->{
mVB
.
btnChangeSimPostApi
->{
mVB
.
tvChangSimContent
.
text
=
""
mVB
.
tvChangSimContent
.
text
=
""
val
imei
=
"864055040488792"
val
imei
=
"864055040488792"
val
loginCustomId
=
"6209e2ea1b7f0d319febe2b2"
val
loginCustomId
=
"6209e2ea1b7f0d319febe2b2"
val
offImsiList
=
arrayListOf
(
"460015466225468"
)
val
offImsiList
=
arrayListOf
(
"460015466225468"
)
val
onImsiList
=
arrayListOf
<
String
>()
val
onImsiList
=
arrayListOf
<
String
>()
val
partnerCode
=
"GCGROUP"
val
partnerCode
=
"GCGROUP"
val
streamNo
=
"SIMBOX${getData()}${((Math.random() * 9.toDouble() + 1.toDouble()) * 100000.toDouble()).toInt()}"
val
streamNo
=
"SIMBOX${getData()}${((Math.random() * 9.toDouble() + 1.toDouble()) * 100000.toDouble()).toInt()}"
apiPostOnOffImsi
(
imei
,
loginCustomId
,
offImsiList
,
onImsiList
,
partnerCode
,
streamNo
)
val
cookie
=
"access_token=TGT-2398391-2usdACdYsxPGbfXXnenVOIYRu6fZKFdZHpEAHczU0Sc4BfUZZR"
val
voidId
=
"80000076419"
val
userLabel
=
"businessUser"
apiPostOnOffImsi
(
imei
,
loginCustomId
,
offImsiList
,
onImsiList
,
partnerCode
,
streamNo
,
cookie
,
voidId
,
userLabel
)
}
}
}
}
}
}
private
fun
setViewModel
()
{
private
fun
setViewModel
()
{
val
viewModelRepository
:
ViewModelRepository
=
ViewModelRepository
.
getInstance
(
Api
SystemClient
.
getInstance
(
this
).
apiSystem
Service
)
val
viewModelRepository
:
ViewModelRepository
=
ViewModelRepository
.
getInstance
(
Api
Client
.
getInstance
(
this
).
api
Service
)
mChangeSimViewModel
=
ViewModelProvider
(
this
,
ViewModelFactory
.
getInstance
(
viewModelRepository
))[
ChangeSimViewModel
::
class
.
java
]
mChangeSimViewModel
=
ViewModelProvider
(
this
,
ViewModelFactory
.
getInstance
(
viewModelRepository
))[
ChangeSimViewModel
::
class
.
java
]
}
}
...
@@ -67,8 +72,8 @@ class ChangeSimActivity : AppCompatActivity(), View.OnClickListener {
...
@@ -67,8 +72,8 @@ class ChangeSimActivity : AppCompatActivity(), View.OnClickListener {
return
simpleDateFormat
.
format
(
instance
.
time
)
return
simpleDateFormat
.
format
(
instance
.
time
)
}
}
private
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomId
:
String
,
offImsiList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
)
{
private
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomId
:
String
,
offImsiList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
,
userLabel
:
String
)
{
mChangeSimViewModel
.
apiPostOnOffImsi
(
imei
,
loginCustomId
,
offImsiList
,
onImsiList
,
partnerCode
,
streamNo
).
observe
(
this
)
{
mChangeSimViewModel
.
apiPostOnOffImsi
(
imei
,
loginCustomId
,
offImsiList
,
onImsiList
,
partnerCode
,
streamNo
,
cookie
,
voipId
,
userLabel
).
observe
(
this
)
{
when
(
it
.
status
)
{
when
(
it
.
status
)
{
Status
.
SUCCESS
->
{
Status
.
SUCCESS
->
{
mVB
.
tvChangSimContent
.
text
=
it
.
data
.
toString
()
mVB
.
tvChangSimContent
.
text
=
it
.
data
.
toString
()
...
...
app/src/main/java/com/example/simboxapi/ui/changeSim/ChangeSimViewModel.kt
View file @
3a3a064b
...
@@ -9,8 +9,8 @@ import com.example.simboxapi.data.entirys.OnOffImisDataBean
...
@@ -9,8 +9,8 @@ import com.example.simboxapi.data.entirys.OnOffImisDataBean
class
ChangeSimViewModel
(
private
val
viewModelRepository
:
ViewModelRepository
)
:
ViewModel
()
{
class
ChangeSimViewModel
(
private
val
viewModelRepository
:
ViewModelRepository
)
:
ViewModel
()
{
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomerId
:
String
,
offImisList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>>>
{
fun
apiPostOnOffImsi
(
imei
:
String
,
loginCustomerId
:
String
,
offImisList
:
ArrayList
<
String
>,
onImsiList
:
ArrayList
<
String
>,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
,
userLabel
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
OnOffImisDataBean
>>>>
{
return
viewModelRepository
.
apiPostOnOffImsi
(
imei
,
loginCustomerId
,
offImisList
,
onImsiList
,
partnerCode
,
streamNo
)
return
viewModelRepository
.
apiPostOnOffImsi
(
imei
,
loginCustomerId
,
offImisList
,
onImsiList
,
partnerCode
,
streamNo
,
cookie
,
voipId
,
userLabel
)
}
}
}
}
\ No newline at end of file
app/src/main/java/com/example/simboxapi/ui/queryCountryInfo/QueryCountryInfoActivity.kt
View file @
3a3a064b
...
@@ -9,7 +9,7 @@ import com.example.simboxapi.base.BaseActivity
...
@@ -9,7 +9,7 @@ import com.example.simboxapi.base.BaseActivity
import
com.example.simboxapi.data.Status
import
com.example.simboxapi.data.Status
import
com.example.simboxapi.data.ViewModelFactory
import
com.example.simboxapi.data.ViewModelFactory
import
com.example.simboxapi.data.ViewModelRepository
import
com.example.simboxapi.data.ViewModelRepository
import
com.example.simboxapi.data.api.Api
System
Client
import
com.example.simboxapi.data.api.ApiClient
import
com.example.simboxapi.databinding.ActivityQueryCountryInfoBinding
import
com.example.simboxapi.databinding.ActivityQueryCountryInfoBinding
import
com.example.simboxapi.utils.DatePattern
import
com.example.simboxapi.utils.DatePattern
import
java.text.SimpleDateFormat
import
java.text.SimpleDateFormat
...
@@ -38,17 +38,22 @@ class QueryCountryInfoActivity : BaseActivity(), View.OnClickListener {
...
@@ -38,17 +38,22 @@ class QueryCountryInfoActivity : BaseActivity(), View.OnClickListener {
when
(
view
)
{
when
(
view
)
{
mVB
.
btnQueryCountryPostApi
->
{
mVB
.
btnQueryCountryPostApi
->
{
mVB
.
tvQueryCountryResponse
.
text
=
""
mVB
.
tvQueryCountryResponse
.
text
=
""
val
langType
=
"zh-TW"
val
langType
=
"zh-CN"
val
loginCustomerId
=
""
val
loginCustomerId
=
""
val
partnerCode
=
"GCGROUP"
val
partnerCode
=
"GCGROUP"
val
streamNo
=
"SIMBOX${getData()}${((Math.random() * 9.toDouble() + 1.toDouble()) * 100000.toDouble()).toInt()}"
val
streamNo
=
"SIMBOX${getData()}${((Math.random() * 9.toDouble() + 1.toDouble()) * 100000.toDouble()).toInt()}"
apiPostQueryCountry
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
)
val
cookie
=
"access_token="
val
voipId
=
""
apiPostQueryCountry
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
,
cookie
,
voipId
)
}
}
}
}
}
}
private
fun
setViewModel
()
{
private
fun
setViewModel
()
{
val
viewModelRepository
:
ViewModelRepository
=
ViewModelRepository
.
getInstance
(
Api
SystemClient
.
getInstance
(
this
).
apiSystem
Service
)
val
viewModelRepository
:
ViewModelRepository
=
ViewModelRepository
.
getInstance
(
Api
Client
.
getInstance
(
this
).
api
Service
)
mQueryCountryInfo
=
ViewModelProvider
(
this
,
ViewModelFactory
.
getInstance
(
viewModelRepository
))[
QueryCountryInfoViewModel
::
class
.
java
]
mQueryCountryInfo
=
ViewModelProvider
(
this
,
ViewModelFactory
.
getInstance
(
viewModelRepository
))[
QueryCountryInfoViewModel
::
class
.
java
]
}
}
...
@@ -63,8 +68,8 @@ class QueryCountryInfoActivity : BaseActivity(), View.OnClickListener {
...
@@ -63,8 +68,8 @@ class QueryCountryInfoActivity : BaseActivity(), View.OnClickListener {
return
simpleDateFormat
.
format
(
instance
.
time
)
return
simpleDateFormat
.
format
(
instance
.
time
)
}
}
private
fun
apiPostQueryCountry
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
){
private
fun
apiPostQueryCountry
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
){
mQueryCountryInfo
.
apiPostQueryCountryInfo
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
).
observe
(
this
)
{
mQueryCountryInfo
.
apiPostQueryCountryInfo
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
,
cookie
,
voipId
).
observe
(
this
)
{
when
(
it
.
status
)
{
when
(
it
.
status
)
{
Status
.
SUCCESS
->
{
Status
.
SUCCESS
->
{
mVB
.
tvQueryCountryResponse
.
text
=
it
.
data
.
toString
()
mVB
.
tvQueryCountryResponse
.
text
=
it
.
data
.
toString
()
...
...
app/src/main/java/com/example/simboxapi/ui/queryCountryInfo/QueryCountryInfoViewModel.kt
View file @
3a3a064b
...
@@ -9,8 +9,8 @@ import com.example.simboxapi.data.entirys.CountryDataBean
...
@@ -9,8 +9,8 @@ import com.example.simboxapi.data.entirys.CountryDataBean
class
QueryCountryInfoViewModel
(
private
val
viewModelRepository
:
ViewModelRepository
)
:
ViewModel
()
{
class
QueryCountryInfoViewModel
(
private
val
viewModelRepository
:
ViewModelRepository
)
:
ViewModel
()
{
fun
apiPostQueryCountryInfo
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
CountryDataBean
>>>>
{
fun
apiPostQueryCountryInfo
(
langType
:
String
,
loginCustomerId
:
String
,
partnerCode
:
String
,
streamNo
:
String
,
cookie
:
String
,
voipId
:
String
):
LiveData
<
ResourceViewModel
<
BaseResponse
<
ArrayList
<
CountryDataBean
>>>>
{
return
viewModelRepository
.
apiPostQueryCountryInfo
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
)
return
viewModelRepository
.
apiPostQueryCountryInfo
(
langType
,
loginCustomerId
,
partnerCode
,
streamNo
,
cookie
,
voipId
)
}
}
}
}
\ No newline at end of file
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted
100644 → 0
View file @
09f4ee4c
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<background
android:drawable=
"@drawable/ic_launcher_background"
/>
<foreground
android:drawable=
"@drawable/ic_launcher_foreground"
/>
</adaptive-icon>
\ No newline at end of file
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
deleted
100644 → 0
View file @
09f4ee4c
File deleted
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment