Skip to content

Commit ff4842b

Browse files
Renamed all util files to *.utils.ts.
1 parent c4b788b commit ff4842b

File tree

6 files changed

+95
-0
lines changed

6 files changed

+95
-0
lines changed

utils/battery.utils.ts

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import * as Battery from "expo-battery";
2+
3+
export const getBatteryLevel = async (): Promise<number> => {
4+
const batteryLevel = await Battery.getBatteryLevelAsync();
5+
return batteryLevel;
6+
};
7+
8+
export const isBatteryCharging = async (): Promise<boolean> => {
9+
const batteryState = await Battery.getBatteryStateAsync();
10+
return batteryState === Battery.BatteryState.CHARGING;
11+
};
12+
13+
export const getBatteryState = async (): Promise<Battery.BatteryState> => {
14+
const batteryState = await Battery.getBatteryStateAsync();
15+
return batteryState;
16+
};
17+
18+
export const getPowerState = async (): Promise<Battery.PowerState> => {
19+
const powerState = await Battery.getPowerStateAsync();
20+
return powerState;
21+
};
22+
23+
export const isLowPowerModeEnabled = async (): Promise<boolean> => {
24+
const lowPowerMode = await Battery.isLowPowerModeEnabledAsync();
25+
return lowPowerMode;
26+
};
27+
28+
export const startBatteryLevelListener = (
29+
callback: (batteryLevel: number) => void
30+
): Battery.Subscription => {
31+
return Battery.addBatteryLevelListener((event) => {
32+
callback(event.batteryLevel);
33+
});
34+
};
35+
36+
export const startBatteryStateListener = (
37+
callback: (batteryState: Battery.BatteryState) => void
38+
): Battery.Subscription => {
39+
return Battery.addBatteryStateListener((event) => {
40+
callback(event.batteryState);
41+
});
42+
};
43+
44+
export const startPowerModeListener = (
45+
callback: (lowPowerMode: boolean) => void
46+
): Battery.Subscription => {
47+
return Battery.addLowPowerModeListener((event) => {
48+
callback(event.lowPowerMode);
49+
});
50+
};
51+
52+
export const removeBatteryListener = (
53+
subscription: Battery.Subscription
54+
): void => {
55+
subscription.remove();
56+
};

utils/camera.utils.ts

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
// camera.utils.ts
2+
import { Camera, FlashMode } from "expo-camera";
3+
import { CameraType } from "expo-camera/build/Camera.types";
4+
import { PermissionResponse } from "expo-modules-core";
5+
6+
export const requestCameraPermission =
7+
async (): Promise<PermissionResponse> => {
8+
return await Camera.requestCameraPermissionsAsync();
9+
};
10+
11+
export const checkCameraPermission = async (): Promise<PermissionResponse> => {
12+
return await Camera.getCameraPermissionsAsync();
13+
};
14+
15+
export const getAvailableCameraTypes = async (): Promise<CameraType[]> => {
16+
return ["front", "back"];
17+
};
18+
19+
export const isFlashSupported = async (): Promise<boolean> => {
20+
const cameraTypes = await getAvailableCameraTypes();
21+
return cameraTypes.includes("back") || cameraTypes.includes("front");
22+
};
23+
24+
export const flashModeToLabel = (mode: FlashMode): string => {
25+
switch (mode) {
26+
case "off":
27+
return "Off";
28+
case "on":
29+
return "On";
30+
case "auto":
31+
return "Auto";
32+
default:
33+
return "Unknown";
34+
}
35+
};
36+
37+
export const toggleCameraType = (current: CameraType): CameraType => {
38+
return current === "front" ? "front" : "back";
39+
};
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)