Add push ui

pull/21/head
FongMi 4 years ago
parent 823e600912
commit 4e0b71f0f4
  1. 5
      app/src/leanback/AndroidManifest.xml
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  3. 33
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/PushActivity.java
  4. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/custom/ConfigDialog.java
  5. 30
      app/src/leanback/res/layout/activity_push.xml
  6. 4
      app/src/main/java/com/fongmi/android/tv/utils/QRCode.java
  7. 3
      app/src/main/res/values-zh-rCN/strings.xml
  8. 3
      app/src/main/res/values-zh-rTW/strings.xml
  9. 3
      app/src/main/res/values/strings.xml

@ -44,6 +44,11 @@
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:screenOrientation="sensorLandscape" />
<activity
android:name=".ui.activity.PushActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"
android:screenOrientation="sensorLandscape" />
<activity
android:name=".ui.activity.DetailActivity"
android:configChanges="screenSize|smallestScreenSize|screenLayout|orientation"

@ -174,6 +174,9 @@ public class HomeActivity extends BaseActivity implements VodPresenter.OnClickLi
case R.string.home_vod:
VodActivity.start(this, mSiteViewModel.getResult().getValue());
break;
case R.string.home_push:
PushActivity.start(this);
break;
case R.string.home_setting:
SettingActivity.start(this);
break;

@ -0,0 +1,33 @@
package com.fongmi.android.tv.ui.activity;
import android.app.Activity;
import android.content.Intent;
import androidx.viewbinding.ViewBinding;
import com.fongmi.android.tv.R;
import com.fongmi.android.tv.databinding.ActivityPushBinding;
import com.fongmi.android.tv.server.Server;
import com.fongmi.android.tv.utils.QRCode;
import com.fongmi.android.tv.utils.ResUtil;
public class PushActivity extends BaseActivity {
private ActivityPushBinding mBinding;
public static void start(Activity activity) {
activity.startActivity(new Intent(activity, PushActivity.class));
}
@Override
protected ViewBinding getBinding() {
return mBinding = ActivityPushBinding.inflate(getLayoutInflater());
}
@Override
protected void initView() {
String address = Server.get().getAddress(false);
mBinding.code.setImageBitmap(QRCode.getBitmap(address, 250, 1));
mBinding.info.setText(ResUtil.getString(R.string.push_info, address));
}
}

@ -53,7 +53,7 @@ public class ConfigDialog implements DialogInterface.OnDismissListener {
private void initView() {
binding.text.setText(Prefers.getUrl());
binding.text.setSelection(binding.text.getText().length());
binding.code.setImageBitmap(QRCode.getBitmap(Server.get().getAddress(false), 200));
binding.code.setImageBitmap(QRCode.getBitmap(Server.get().getAddress(false), 150, 0));
}
private void initEvent() {

@ -0,0 +1,30 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black_20"
android:gravity="center"
android:keepScreenOn="true"
android:orientation="vertical">
<ImageView
android:id="@+id/code"
android:layout_width="250dp"
android:layout_height="250dp"
android:scaleType="fitXY" />
<TextView
android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:gravity="center"
android:lineSpacingExtra="4dp"
android:shadowColor="@color/black"
android:shadowDx="2"
android:shadowDy="2"
android:shadowRadius="1"
android:textColor="@color/white"
android:textSize="18sp" />
</LinearLayout>

@ -30,11 +30,11 @@ public class QRCode {
return bitmap;
}
public static Bitmap getBitmap(String contents, int size) {
public static Bitmap getBitmap(String contents, int size, int margin) {
try {
Map<EncodeHintType, Object> hints = new EnumMap<>(EncodeHintType.class);
hints.put(EncodeHintType.CHARACTER_SET, "UTF-8");
hints.put(EncodeHintType.MARGIN, 0);
hints.put(EncodeHintType.MARGIN, margin);
return createBitmap(new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE, ResUtil.dp2px(size), ResUtil.dp2px(size), hints));
} catch (Exception e) {
return null;

@ -19,6 +19,9 @@
<!-- Vod -->
<string name="vod_last">上次看到<xliff:g name="name">%s</xliff:g></string>
<!-- Push -->
<string name="push_info">手机或电脑连接连接同一个局域网,扫描 QR Code 或浏览器输入网址\n<xliff:g name="name">%s</xliff:g></string>
<!-- Detail -->
<string name="detail_site">站源:<xliff:g name="name">%s</xliff:g></string>
<string name="detail_year">年份:<xliff:g name="name">%s</xliff:g></string>

@ -19,6 +19,9 @@
<!-- Vod -->
<string name="vod_last">上次看到<xliff:g name="name">%s</xliff:g></string>
<!-- Push -->
<string name="push_info">手機或電腦連接連接同一個區域網路,掃描 QR Code 或瀏覽器輸入網址\n<xliff:g name="name">%s</xliff:g></string>
<!-- Detail -->
<string name="detail_site">站源:<xliff:g name="name">%s</xliff:g></string>
<string name="detail_year">年份:<xliff:g name="name">%s</xliff:g></string>

@ -19,6 +19,9 @@
<!-- Vod -->
<string name="vod_last">Last seen <xliff:g name="name">%s</xliff:g></string>
<!-- Push -->
<string name="push_info">Connect your phone or pc to the same LAN, scan QR Code or enter the URL in browser\n<xliff:g name="name">%s</xliff:g></string>
<!-- Detail -->
<string name="detail_site">Site: <xliff:g name="name">%s</xliff:g></string>
<string name="detail_year">Year: <xliff:g name="name">%s</xliff:g></string>

Loading…
Cancel
Save