diff --git a/app.json b/app.json
index 0ff9455..8ee7df3 100644
--- a/app.json
+++ b/app.json
@@ -3,10 +3,7 @@
"name": "JR四国運行状況",
"slug": "jrshikoku",
"privacy": "public",
- "platforms": [
- "ios",
- "android"
- ],
+ "platforms": ["ios", "android"],
"plugins": [
[
"react-native-android-widget",
@@ -15,8 +12,8 @@
{
"name": "JR_shikoku_train_info",
"label": "JR四国列車遅延速報EX",
- "minWidth": "320dp",
- "minHeight": "120dp",
+ "minWidth": "70dp",
+ "minHeight": "50dp",
"description": "JR四国列車遅延速報EXのウィジェットです。30分ごとに自動更新します。タッチすると強制更新します。",
"previewImage": "./assets/icon.png",
"updatePeriodMillis": 1800000,
@@ -39,9 +36,7 @@
"fallbackToCacheTimeout": 0,
"url": "https://u.expo.dev/398abf60-57a7-11e9-970c-8f04356d08bf"
},
- "assetBundlePatterns": [
- "**/*"
- ],
+ "assetBundlePatterns": ["**/*"],
"ios": {
"buildNumber": "31",
"supportsTablet": true,
@@ -57,18 +52,13 @@
]
},
"entitlements": {
- "com.apple.developer.nfc.readersession.formats": [
- "TAG"
- ]
+ "com.apple.developer.nfc.readersession.formats": ["TAG"]
}
},
"android": {
"package": "jrshikokuinfo.xprocess.hrkn",
"versionCode": 20,
- "permissions": [
- "ACCESS_FINE_LOCATION",
- "NFC"
- ],
+ "permissions": ["ACCESS_FINE_LOCATION", "NFC"],
"googleServicesFile": "./google-services.json",
"config": {
"googleMaps": {
diff --git a/components/AndroidWidget/HelloWidget.jsx b/components/AndroidWidget/TraInfoEXWidget.jsx
similarity index 97%
rename from components/AndroidWidget/HelloWidget.jsx
rename to components/AndroidWidget/TraInfoEXWidget.jsx
index 472aa0d..6a8e9e1 100644
--- a/components/AndroidWidget/HelloWidget.jsx
+++ b/components/AndroidWidget/TraInfoEXWidget.jsx
@@ -5,7 +5,7 @@ import {
ListWidget,
} from "react-native-android-widget";
-export function HelloWidget({ time, delayString }) {
+export function TraInfoEXWidget({ time, delayString }) {
return (
);
break;
- break;
-
- break;
-
case "WIDGET_DELETED":
// Not needed for now
break;
-
- break;
-
default:
break;
}
diff --git a/components/settings.js b/components/settings.js
index aae81ac..98d346f 100644
--- a/components/settings.js
+++ b/components/settings.js
@@ -1,4 +1,4 @@
-import React, { useState, useEffect } from "react";
+import React, { useState, useEffect, useLayoutEffect } from "react";
import { View, Text, TouchableOpacity, Linking } from "react-native";
import * as ExpoFelicaReader from "../modules/expo-felica-reader/src";
import * as Updates from "expo-updates";
@@ -17,11 +17,7 @@ export default function Setting(props) {
const [usePDFView, setUsePDFView] = useState(false);
const [trainMenu, setTrainMenu] = useState(false);
const [trainPosition, setTrainPosition] = useState(false);
- const testNFC = async () => {
- const resulit = await ExpoFelicaReader.scan();
- alert(resulit);
- };
- useEffect(() => {
+ useLayoutEffect(() => {
AS.getItem("iconSwitch").then(setIconSetting);
AS.getItem("mapSwitch").then(setMapSwitch);
AS.getItem("stationSwitch").then(setStationMenu);
@@ -29,6 +25,22 @@ export default function Setting(props) {
AS.getItem("trainSwitch").then(setTrainMenu);
AS.getItem("trainPositionSwitch").then(setTrainPosition);
}, []);
+ const testNFC = async () => {
+ const resulit = await ExpoFelicaReader.scan();
+ alert(resulit);
+ };
+ const updateAndReload = () => {
+ Promise.all([
+ AS.setItem("iconSwitch", iconSetting.toString()),
+ AS.setItem("mapSwitch", mapSwitch.toString()),
+ AS.setItem("stationSwitch", stationMenu.toString()),
+ AS.setItem("usePDFView", usePDFView.toString()),
+ AS.setItem("trainSwitch", trainMenu.toString()),
+ AS.setItem("trainPositionSwitch", trainPosition.toString()),
+ ]).then(() => {
+ Updates.reloadAsync();
+ });
+ };
return (
@@ -59,10 +71,10 @@ export default function Setting(props) {
列車アイコンを表示する
- setIconSetting(value.toString())}
+
@@ -78,11 +90,7 @@ export default function Setting(props) {
マップを表示する(beta)
- setMapSwitch(value.toString())}
- />
+
- setStationMenu(value.toString())}
+
@@ -116,10 +124,10 @@ export default function Setting(props) {
時刻表PDFをアプリ外で表示
- setUsePDFView(value.toString())}
+
@@ -135,11 +143,7 @@ export default function Setting(props) {
列車メニュー
- setTrainMenu(value.toString())}
- />
+
- setTrainPosition(value.toString())}
+
@@ -176,7 +180,7 @@ export default function Setting(props) {
testNFC()}
+ onPress={testNFC}
>
{
- Promise.all([
- AS.setItem("iconSwitch", iconSetting.toString()),
- AS.setItem("mapSwitch", mapSwitch.toString()),
- AS.setItem("stationSwitch", stationMenu.toString()),
- AS.setItem("usePDFView", usePDFView.toString()),
- AS.setItem("trainSwitch", trainMenu.toString()),
- AS.setItem("trainPositionSwitch", trainPosition.toString()),
- ]).then(() => {
- Updates.reloadAsync();
- });
- }}
+ onPress={updateAndReload}
>
@@ -246,3 +239,10 @@ export default function Setting(props) {
);
}
+const SimpleSwitch = ({ bool, setBool, color }) => (
+ setBool(value.toString())}
+ />
+);