version:1.7

fix:
update:增加抢购,修复bug
This commit is contained in:
2023-01-02 14:42:27 +08:00
parent 6f073ef28d
commit 4b01f9987f
117 changed files with 3598 additions and 898 deletions

View File

@@ -782,7 +782,7 @@ public class ControlActivity extends AppCompatActivity {
int gamma = BrightnessUtils.convertLinearToGamma(brightness, 1, 255);
Log.e(TAG, "getHardware: gamma = " + gamma);
long percentage = Math.round((((double) gamma / 65535) * 100f));
tv_brightness.setText(percentage + "%");
// tv_brightness.setText(percentage + "%");
Log.e(TAG, "getHardware: percentage = " + percentage);
seekbar_brightness.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
@@ -793,7 +793,7 @@ public class ControlActivity extends AppCompatActivity {
Log.e(TAG, "onProgressChanged: gamma = " + gamma);
long percentage = Math.round((((double) gamma / 65535) * 100f));
Log.e(TAG, "onProgressChanged: percentage = " + percentage);
tv_brightness.setText(percentage + "%");
// tv_brightness.setText(percentage + "%");
}
@Override

View File

@@ -0,0 +1,119 @@
package com.uiuios.aios.activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.bumptech.glide.Glide;
import com.uiuios.aios.R;
import com.uiuios.aios.bean.GoodsInfo;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
import butterknife.BindView;
import butterknife.ButterKnife;
public class DetailsActivity extends AppCompatActivity {
@BindView(R.id.iv_details)
ImageView iv_details;
@BindView(R.id.iv_exit)
ImageView iv_exit;
@BindView(R.id.tv_buying_price)
TextView tv_buying_price;
@BindView(R.id.tv_original_price)
TextView tv_original_price;
@BindView(R.id.tv_stock)
TextView tv_stock;
@BindView(R.id.tv_subsidy)
TextView tv_subsidy;
@BindView(R.id.tv_price)
TextView tv_price;
@BindView(R.id.tv_title)
TextView tv_title;
@BindView(R.id.tv_details)
TextView tv_details;
@BindView(R.id.tv_certified)
TextView tv_certified;
@BindView(R.id.tv_ship)
TextView tv_ship;
@BindView(R.id.tv_insurance)
TextView tv_insurance;
@BindView(R.id.tv_sale)
TextView tv_sale;
@BindView(R.id.tv_type)
TextView tv_type;
@BindView(R.id.ll_buy)
LinearLayout ll_buy;
private GoodsInfo mGoodsInfo;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
UltimateBarX.statusBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
UltimateBarX.navigationBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
setContentView(R.layout.activity_details);
ButterKnife.bind(this);
Intent intent = getIntent();
if (intent == null) return;
GoodsInfo goodsInfo = (GoodsInfo) intent.getSerializableExtra("GoodsInfo");
if (goodsInfo == null) return;
mGoodsInfo = goodsInfo;
Glide.with(iv_details).load(mGoodsInfo.getDetails_img()).into(iv_details);
ViewTreeObserver observer = iv_details.getViewTreeObserver();
observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
ViewGroup.LayoutParams layoutParams = iv_details.getLayoutParams();
int width = iv_details.getWidth();
layoutParams.height = width;
iv_details.setLayoutParams(layoutParams);
}
});
iv_exit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
tv_stock.setText("库存:" + mGoodsInfo.getStock());
tv_subsidy.setText("官方补贴" + (mGoodsInfo.getOriginal_price() - mGoodsInfo.getBuying_price()));
tv_buying_price.setText("" + mGoodsInfo.getBuying_price());
tv_original_price.setText("原价:" + mGoodsInfo.getOriginal_price() + "");
tv_price.setText("抢购:" + mGoodsInfo.getBuying_price() + "");
tv_title.setText(mGoodsInfo.getGoods_name());
tv_details.setText(mGoodsInfo.getGoods_desc());
tv_certified.setText(mGoodsInfo.getEnsure());
tv_ship.setText(mGoodsInfo.getDeliver_goods());
tv_insurance.setText(mGoodsInfo.getInsure());
tv_sale.setText(mGoodsInfo.getAfter_sales());
ll_buy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Uri uri = Uri.parse(goodsInfo.getJump_url());
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
tv_type.setText(mGoodsInfo.getType());
}
}

View File

@@ -0,0 +1,21 @@
package com.uiuios.aios.activity;
import com.uiuios.aios.R;
import com.uiuios.aios.base.BaseActivity;
public class InfoListActivity extends BaseActivity {
@Override
public int getLayoutId() {
return R.layout.activity_info_list;
}
@Override
public void initView() {
}
@Override
public void initData() {
}
}

View File

@@ -0,0 +1,73 @@
package com.uiuios.aios.activity;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.uiuios.aios.BuildConfig;
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.AppSelectedAdapter;
import com.uiuios.aios.base.BaseActivity;
import com.uiuios.aios.bean.AppSelectBean;
import com.uiuios.aios.view.GridSpaceItemDecoration;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
public class QuickAppActivity extends BaseActivity {
public static final String QUICK_APP_KEY = "QuickAppKey";
private AppSelectedAdapter mAppSelectedAdapter;
@BindView(R.id.rv_goods)
RecyclerView recyclerView;
@Override
public int getLayoutId() {
return R.layout.activity_quick_app;
}
@Override
public void initView() {
ButterKnife.bind(this);
mAppSelectedAdapter = new AppSelectedAdapter();
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
recyclerView.setLayoutManager(new GridLayoutManager(this, 3));
recyclerView.addItemDecoration(new GridSpaceItemDecoration(3,50,50));
} else {
recyclerView.setLayoutManager(new GridLayoutManager(this, 2));
recyclerView.addItemDecoration(new GridSpaceItemDecoration(2,50,50));
}
recyclerView.setAdapter(mAppSelectedAdapter);
}
@Override
public void initData() {
mAppSelectedAdapter.setAppSelectBeans(getPackageList());
}
boolean listThirdParty = true;
private List<AppSelectBean> getPackageList() {
PackageManager pm = getPackageManager();
List<AppSelectBean> appSelectBeanList = new ArrayList<>();
List<PackageInfo> applicationInfos = pm.getInstalledPackages(0);
for (PackageInfo packageInfo : applicationInfos) {
if (BuildConfig.APPLICATION_ID.equals(packageInfo.applicationInfo.packageName)) {
continue;
}
final boolean isSystem = (packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
if (!listThirdParty || !isSystem) {
AppSelectBean appSelectBean = new AppSelectBean(packageInfo.applicationInfo.loadLabel(pm).toString(), packageInfo.applicationInfo.packageName, packageInfo.applicationInfo.loadIcon(pm));
appSelectBeanList.add(appSelectBean);
}
}
return appSelectBeanList;
}
}

View File

@@ -0,0 +1,108 @@
package com.uiuios.aios.activity;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiuios.aios.R;
import com.uiuios.aios.adapter.GoodsAdapter;
import com.uiuios.aios.adapter.GoodsListAdapter;
import com.uiuios.aios.base.BaseActivity;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.GoodsInfo;
import com.uiuios.aios.network.NetInterfaceManager;
import com.zackratos.ultimatebarx.ultimatebarx.java.UltimateBarX;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import io.reactivex.rxjava3.annotations.NonNull;
import io.reactivex.rxjava3.core.Observer;
import io.reactivex.rxjava3.disposables.Disposable;
public class SpikeListActivity extends BaseActivity {
@BindView(R.id.recyclerView)
RecyclerView recyclerView;
@BindView(R.id.iv1)
ImageView iv1;
@BindView(R.id.iv_back)
ImageView iv_back;
private GoodsListAdapter mGoodsAdapter;
@Override
public int getLayoutId() {
lifecycleSubject.onNext(ActivityEvent.CREATE);
UltimateBarX.statusBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
UltimateBarX.navigationBar(this)
.transparent()
.colorRes(R.color.colorPrimaryDark)
.light(true)
.apply();
return R.layout.activity_spike_list;
}
@Override
public void initView() {
ButterKnife.bind(this);
mGoodsAdapter = new GoodsListAdapter();
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(mGoodsAdapter);
iv_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
}
@Override
public void initData() {
getGoodsInfo();
}
private void getGoodsInfo() {
NetInterfaceManager.getInstance()
.getGoodsListObservable()
.compose(RxLifecycle.bindUntilEvent(lifecycleSubject, ActivityEvent.DESTROY))
.subscribe(new Observer<BaseResponse<List<GoodsInfo>>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.e("getGoods", "onSubscribe: ");
}
@Override
public void onNext(@NonNull BaseResponse<List<GoodsInfo>> listBaseResponse) {
Log.e("getGoods", "onNext: " + listBaseResponse);
List<GoodsInfo> goodsInfos = listBaseResponse.data;
if (goodsInfos != null && goodsInfos.size() != 0) {
iv1.setVisibility(android.view.View.GONE);
mGoodsAdapter.setGoodsInfoList(goodsInfos);
} else {
iv1.setVisibility(android.view.View.VISIBLE);
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getGoods", "onError: " + e.getMessage());
}
@Override
public void onComplete() {
Log.e("getGoods", "onComplete: ");
}
});
}
}

View File

@@ -27,7 +27,7 @@ import cn.jzvd.Jzvd;
public class AlarmClockActivity extends BaseActivity implements AlarmClockContact.ClockView {
private static final String TAG = AlarmClockActivity.class.getSimpleName();
@BindView(R.id.recyclerView)
@BindView(R.id.rv_goods)
RecyclerView recyclerView;
@BindView(R.id.iv_back)
ImageView iv_back;

View File

@@ -73,10 +73,15 @@ public class ContactActivity extends BaseActivity implements ContactContact.Cont
@Override
public void setContact(List<Contact> contactList) {
if (contactList != null) {
mContactAdapter.setContactList(contactList);
if (contactList == null || contactList.size() == 0) {
tv_people.setText("暂无数据");
} else {
tv_people.setText(contactList.size() + "");
}
Contact contact = new Contact();
contact.setName("拨号");
contact.setMobile(ContactAdapter.DIALER_PACKAGE);
contactList.add(0, contact);
mContactAdapter.setContactList(contactList);
}
}

View File

@@ -3,12 +3,19 @@ package com.uiuios.aios.activity.contact;
import android.content.Context;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.tencent.mmkv.MMKV;
import com.trello.rxlifecycle4.RxLifecycle;
import com.trello.rxlifecycle4.android.ActivityEvent;
import com.uiuios.aios.bean.BaseResponse;
import com.uiuios.aios.bean.Contact;
import com.uiuios.aios.network.NetInterfaceManager;
import com.uiuios.aios.network.URLAddress;
import com.uiuios.aios.utils.GsonUtils;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import io.reactivex.rxjava3.annotations.NonNull;
@@ -19,6 +26,7 @@ import io.reactivex.rxjava3.subjects.BehaviorSubject;
public class ContactPresenter implements ContactContact.Presenter {
private Context mContext;
private ContactContact.ContactView mView;
private MMKV mMMKV = MMKV.defaultMMKV();
private BehaviorSubject<ActivityEvent> lifecycle;
@@ -58,12 +66,28 @@ public class ContactPresenter implements ContactContact.Presenter {
@Override
public void onNext(@NonNull BaseResponse<List<Contact>> listBaseResponse) {
Log.e("getContactList", "onNext: " + listBaseResponse);
mView.setContact(listBaseResponse.data);
if (listBaseResponse.code == 200) {
mMMKV.putString(URLAddress.GET_MAIL_LIST, GsonUtils.toJsonString(listBaseResponse.data));
mView.setContact(listBaseResponse.data);
} else {
mMMKV.putString(URLAddress.GET_MAIL_LIST, "");
mView.setContact(new ArrayList<>());
}
}
@Override
public void onError(@NonNull Throwable e) {
Log.e("getContactList", "onError: " + e.getMessage());
String jsonString = mMMKV.getString(URLAddress.GET_MAIL_LIST, null);
Gson gson = new Gson();
Type type = new TypeToken<List<Contact>>() {
}.getType();
List<Contact> contacts = gson.fromJson(jsonString, type);
if (contacts == null) {
mView.setContact(new ArrayList<>());
}else {
mView.setContact(contacts);
}
onComplete();
}

View File

@@ -34,7 +34,7 @@ import com.uiuios.aios.bean.DesktopIcon;
import com.uiuios.aios.fragment.AppListFragment;
import com.uiuios.aios.base.BaseFragmentPagerAdapter;
import com.uiuios.aios.fragment.custom.CustomFragment;
import com.uiuios.aios.fragment.SecondFragment;
import com.uiuios.aios.fragment.second.SecondFragment;
import com.uiuios.aios.service.NotificationService;
import com.uiuios.aios.utils.ApkUtils;
import com.uiuios.aios.utils.AppUsedTimeUtils;