fixing glitches in android build

This commit is contained in:
Roland Osborne 2025-01-07 22:29:38 -08:00
parent 883c62436a
commit 6f1af1ccaf
5 changed files with 34 additions and 10 deletions

View File

@ -1,6 +1,22 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.audio.output" />
<uses-feature android:name="android.hardware.microphone" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES" />
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name=".MainApplication"
@ -9,7 +25,8 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:supportsRtl="true">
android:supportsRtl="true"
android:requestLegacyExternalStorage="true">
<activity
android:name=".MainActivity"
android:label="@string/app_name"

View File

@ -101,9 +101,16 @@ export function Access() {
}
onChangeText={value => actions.setPassword(value)}
/>
<Button mode="contained" style={styles.submit} onPress={login} loading={state.loading} disabled={!state.username || !state.password || !state.node}>
{state.strings.login}
</Button>
{ (!state.username || !state.password || !state.node) && (
<Button mode="contained" style={styles.submit} disabled={true}>
{state.strings.login}
</Button>
)}
{ state.username && state.password && state.node && (
<Button mode="contained" style={styles.submit} onPress={login} loading={state.loading}>
{state.strings.login}
</Button>
)}
<Button mode="text" onPress={() => actions.setMode('create')}>
{state.strings.createAccount}
</Button>

View File

@ -10,7 +10,7 @@ export function useAccess() {
const display = useContext(DisplayContext) as ContextType;
const [state, setState] = useState({
layout: null,
strings: display.state.strings,
strings: {},
mode: 'account',
username: '',
handle: '',
@ -74,8 +74,8 @@ export function useAccess() {
};
useEffect(() => {
const {layout} = display.state;
updateState({layout});
const {layout, strings} = display.state;
updateState({layout, strings});
}, [display.state]);
const actions = {

View File

@ -128,7 +128,7 @@ export function Conversation({close}: {close: ()=>void}) {
const addImage = async () => {
try {
const { path, mime, size } = await ImagePicker.openPicker({ mediaType: 'photo' });
actions.addImage(`file://${path}`, mime, size);
actions.addImage(path, mime, size);
}
catch (err) {
console.log(err);

View File

@ -14,7 +14,6 @@ const WEBP_TYPE = 'image/webp';
const LOAD_DEBOUNCE = 1000;
async function getImageThumb(path: string, type: string, size: number) {
console.log("GET THUMB: ", path, type, size);
if (size < IMAGE_SCALE_SIZE) {
const base = await RNFS.readFile(path, 'base64')
return `data:image/jpeg;base64,${base}`;
@ -26,8 +25,9 @@ console.log("GET THUMB: ", path, type, size);
}
async function getVideoThumb(path: string, position?: number) {
console.log("GET FULL VID THUMB: ", path);
const timeStamp = position ? position * 1000 : 0;
const shot = await createThumbnail({ url: path.slice(7), timeStamp })
const shot = await createThumbnail({ url: path, timeStamp })
const thumb = await ImageResizer.createResizedImage('file://' + shot.path, 192, 192, "JPEG", 50, 0, null);
const base = await RNFS.readFile(thumb.path, 'base64')
return `data:image/jpeg;base64,${base}`;