mirror of
https://github.com/SimpleMobileTools/Simple-Camera.git
synced 2025-06-27 09:02:59 +02:00
Merge branch 'master' into patch-4
This commit is contained in:
@@ -40,11 +40,11 @@ import com.simplemobiletools.camera.views.FocusCircleView
|
|||||||
import com.simplemobiletools.commons.extensions.*
|
import com.simplemobiletools.commons.extensions.*
|
||||||
import com.simplemobiletools.commons.helpers.*
|
import com.simplemobiletools.commons.helpers.*
|
||||||
import com.simplemobiletools.commons.models.Release
|
import com.simplemobiletools.commons.models.Release
|
||||||
|
import java.util.concurrent.TimeUnit
|
||||||
|
import kotlin.math.abs
|
||||||
import kotlinx.android.synthetic.main.activity_main.*
|
import kotlinx.android.synthetic.main.activity_main.*
|
||||||
import kotlinx.android.synthetic.main.layout_flash.*
|
import kotlinx.android.synthetic.main.layout_flash.*
|
||||||
import kotlinx.android.synthetic.main.layout_top.*
|
import kotlinx.android.synthetic.main.layout_top.*
|
||||||
import java.util.concurrent.TimeUnit
|
|
||||||
import kotlin.math.abs
|
|
||||||
|
|
||||||
class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, CameraXPreviewListener {
|
class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, CameraXPreviewListener {
|
||||||
private companion object {
|
private companion object {
|
||||||
@@ -345,10 +345,6 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
|||||||
|
|
||||||
mTimerHandler = Handler(Looper.getMainLooper())
|
mTimerHandler = Handler(Looper.getMainLooper())
|
||||||
setupPreviewImage(true)
|
setupPreviewImage(true)
|
||||||
|
|
||||||
val initialFlashlightState = if (mIsInPhotoMode && config.flashlightState != FLASH_ALWAYS_ON) config.flashlightState else FLASH_OFF
|
|
||||||
mPreview!!.setFlashlightState(initialFlashlightState)
|
|
||||||
updateFlashlightState(initialFlashlightState)
|
|
||||||
initFlashModeTransitionNames()
|
initFlashModeTransitionNames()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -388,8 +384,12 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
|||||||
private fun initModeSwitcher() {
|
private fun initModeSwitcher() {
|
||||||
val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
|
val gestureDetector = GestureDetector(this, object : GestureDetector.SimpleOnGestureListener() {
|
||||||
override fun onFling(event1: MotionEvent, event2: MotionEvent, velocityX: Float, velocityY: Float): Boolean {
|
override fun onFling(event1: MotionEvent, event2: MotionEvent, velocityX: Float, velocityY: Float): Boolean {
|
||||||
// these can be null even if the docs say they cannot
|
// these can be null even if the docs say they cannot, getting event1.x in itself can cause crashes
|
||||||
if (event1 == null || event2 == null) {
|
try {
|
||||||
|
if (event1 == null || event2 == null || event1.x == null || event2.x == null) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
} catch (e: NullPointerException) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -453,18 +453,6 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun updateFlashlightState(state: Int) {
|
|
||||||
config.flashlightState = state
|
|
||||||
val flashDrawable = when (state) {
|
|
||||||
FLASH_OFF -> R.drawable.ic_flash_off_vector
|
|
||||||
FLASH_ON -> R.drawable.ic_flash_on_vector
|
|
||||||
FLASH_AUTO -> R.drawable.ic_flash_auto_vector
|
|
||||||
else -> R.drawable.ic_flashlight_vector
|
|
||||||
}
|
|
||||||
toggle_flash.setShadowIcon(flashDrawable)
|
|
||||||
toggle_flash.transitionName = "${getString(R.string.toggle_flash)}$state"
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun shutterPressed() {
|
private fun shutterPressed() {
|
||||||
if (checkCameraAvailable()) {
|
if (checkCameraAvailable()) {
|
||||||
handleShutter()
|
handleShutter()
|
||||||
@@ -727,7 +715,14 @@ class MainActivity : SimpleActivity(), PhotoProcessor.MediaSavedListener, Camera
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun onChangeFlashMode(flashMode: Int) {
|
override fun onChangeFlashMode(flashMode: Int) {
|
||||||
updateFlashlightState(flashMode)
|
val flashDrawable = when (flashMode) {
|
||||||
|
FLASH_OFF -> R.drawable.ic_flash_off_vector
|
||||||
|
FLASH_ON -> R.drawable.ic_flash_on_vector
|
||||||
|
FLASH_AUTO -> R.drawable.ic_flash_auto_vector
|
||||||
|
else -> R.drawable.ic_flashlight_vector
|
||||||
|
}
|
||||||
|
toggle_flash.setShadowIcon(flashDrawable)
|
||||||
|
toggle_flash.transitionName = "${getString(R.string.toggle_flash)}$flashMode"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onVideoRecordingStarted() {
|
override fun onVideoRecordingStarted() {
|
||||||
|
@@ -175,6 +175,7 @@ class CameraXPreview(
|
|||||||
previewUseCase.setSurfaceProvider(previewView.surfaceProvider)
|
previewUseCase.setSurfaceProvider(previewView.surfaceProvider)
|
||||||
preview = previewUseCase
|
preview = previewUseCase
|
||||||
setupZoomAndFocus()
|
setupZoomAndFocus()
|
||||||
|
setFlashlightState(config.flashlightState)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun displaySelectedResolution(resolutionOption: ResolutionOption) {
|
private fun displaySelectedResolution(resolutionOption: ResolutionOption) {
|
||||||
|
@@ -2,9 +2,9 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Απλή Κάμερα</string>
|
<string name="app_name">Απλή Κάμερα</string>
|
||||||
<string name="app_launcher_name">Κάμερα</string>
|
<string name="app_launcher_name">Κάμερα</string>
|
||||||
<string name="capture_mode">Λειτουργία λήψης</string>
|
<string name="capture_mode">Λειτουργία καταγραφής</string>
|
||||||
<string name="maximize_quality">Μέγιστη ποιότητα</string>
|
<string name="maximize_quality">Μέγιστη ποιότητα</string>
|
||||||
<string name="minimize_latency">Ελάχιστη καθυστέρηση</string>
|
<string name="minimize_latency">Ελαχιστοποίηση καθυστέρησης</string>
|
||||||
<!-- Errors -->
|
<!-- Errors -->
|
||||||
<string name="camera_unavailable">Μη διαθέσιμη κάμερα</string>
|
<string name="camera_unavailable">Μη διαθέσιμη κάμερα</string>
|
||||||
<string name="camera_open_error">Παρουσιάστηκε σφάλμα κατά την πρόσβαση στην κάμερα</string>
|
<string name="camera_open_error">Παρουσιάστηκε σφάλμα κατά την πρόσβαση στην κάμερα</string>
|
||||||
@@ -28,7 +28,7 @@
|
|||||||
<string name="change_resolution">Αλλαγή ανάλυσης</string>
|
<string name="change_resolution">Αλλαγή ανάλυσης</string>
|
||||||
<string name="view_last_media">Προβολή των τελευταίων αποθηκευμένων πολυμέσων</string>
|
<string name="view_last_media">Προβολή των τελευταίων αποθηκευμένων πολυμέσων</string>
|
||||||
<string name="toggle_camera">Εναλλαγή εμπρός/πίσω κάμερας</string>
|
<string name="toggle_camera">Εναλλαγή εμπρός/πίσω κάμερας</string>
|
||||||
<string name="toggle_flash">Εναλλαγή σε λειτουργία φακού</string>
|
<string name="toggle_flash">Εναλλαγή λειτουργίας φακού</string>
|
||||||
|
|
||||||
<!-- FAQ -->
|
<!-- FAQ -->
|
||||||
<string name="faq_1_title">Ποια ποιότητα συμπίεσης φωτογραφιών πρέπει να ορίσω;</string>
|
<string name="faq_1_title">Ποια ποιότητα συμπίεσης φωτογραφιών πρέπει να ορίσω;</string>
|
||||||
@@ -45,7 +45,7 @@
|
|||||||
<string name="focus_before_capture">Εστίαση πριν τη λήψη</string>
|
<string name="focus_before_capture">Εστίαση πριν τη λήψη</string>
|
||||||
<string name="volume_buttons_as_shutter">Χρήση κουμπιών έντασης ως κλείστρο</string>
|
<string name="volume_buttons_as_shutter">Χρήση κουμπιών έντασης ως κλείστρο</string>
|
||||||
<string name="turn_flash_off_at_startup">Απενεργοποίηση φλας κατά την εκκίνηση</string>
|
<string name="turn_flash_off_at_startup">Απενεργοποίηση φλας κατά την εκκίνηση</string>
|
||||||
<string name="flip_front_camera_photos_horizontally">Οριζόντια αναστροφή φωτογραφιών μπροστινής κάμερας</string>
|
<string name="flip_front_camera_photos_horizontally">Οριζόντια αναστροφή φωτογραφιών εμπρός κάμερας</string>
|
||||||
<string name="keep_settings_visible">Διατήρηση εμφανών κουμπιών ρύθμισης</string>
|
<string name="keep_settings_visible">Διατήρηση εμφανών κουμπιών ρύθμισης</string>
|
||||||
<string name="always_open_back_camera">Πάντα άνοιγμα της εφαρμογής με την πίσω κάμερα</string>
|
<string name="always_open_back_camera">Πάντα άνοιγμα της εφαρμογής με την πίσω κάμερα</string>
|
||||||
<string name="save_photo_metadata">Αποθήκευση μεταδεδομένων exif φωτογραφίας</string>
|
<string name="save_photo_metadata">Αποθήκευση μεταδεδομένων exif φωτογραφίας</string>
|
||||||
|
@@ -2,9 +2,9 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Jednostavna kamera</string>
|
<string name="app_name">Jednostavna kamera</string>
|
||||||
<string name="app_launcher_name">Kamera</string>
|
<string name="app_launcher_name">Kamera</string>
|
||||||
<string name="capture_mode">Capture mode</string>
|
<string name="capture_mode">Način snimanja</string>
|
||||||
<string name="maximize_quality">Maximize quality</string>
|
<string name="maximize_quality">Povećajte kvalitetu</string>
|
||||||
<string name="minimize_latency">Minimize latency</string>
|
<string name="minimize_latency">Smanjite latenciju</string>
|
||||||
<!-- Errors -->
|
<!-- Errors -->
|
||||||
<string name="camera_unavailable">Kamera nije dostupna</string>
|
<string name="camera_unavailable">Kamera nije dostupna</string>
|
||||||
<string name="camera_open_error">Dogodila se greška prilikom pristupanja kameri</string>
|
<string name="camera_open_error">Dogodila se greška prilikom pristupanja kameri</string>
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Simple Camera</string>
|
<string name="app_name">Simple Camera</string>
|
||||||
<string name="app_launcher_name">Camera</string>
|
<string name="app_launcher_name">Camera</string>
|
||||||
<string name="capture_mode">Capture mode</string>
|
<string name="capture_mode">تصویر کھچݨی</string>
|
||||||
<string name="maximize_quality">Maximize quality</string>
|
<string name="maximize_quality">Maximize quality</string>
|
||||||
<string name="minimize_latency">Minimize latency</string>
|
<string name="minimize_latency">Minimize latency</string>
|
||||||
<!-- Errors -->
|
<!-- Errors -->
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<string name="camera_configure_error">An error occurred while configuring the camera</string>
|
<string name="camera_configure_error">An error occurred while configuring the camera</string>
|
||||||
<string name="camera_disabled_by_admin_error">Camera is disabled by the admin</string>
|
<string name="camera_disabled_by_admin_error">Camera is disabled by the admin</string>
|
||||||
<string name="camera_dnd_error">"Do Not Disturb" mode is enabled. Please disable and try again</string>
|
<string name="camera_dnd_error">"Do Not Disturb" mode is enabled. Please disable and try again</string>
|
||||||
<string name="photo_capture_failed">Photo capture failed</string>
|
<string name="photo_capture_failed">غلطی آئی اے، فوٹو کھچ نہیں سکدی</string>
|
||||||
<string name="video_capture_insufficient_storage_error">Video recording failed due to insufficient storage</string>
|
<string name="video_capture_insufficient_storage_error">Video recording failed due to insufficient storage</string>
|
||||||
<!-- Camera Screen Icons Content Description -->
|
<!-- Camera Screen Icons Content Description -->
|
||||||
<string name="toggle_photo_video">Toggle photo/video mode</string>
|
<string name="toggle_photo_video">Toggle photo/video mode</string>
|
||||||
@@ -37,15 +37,15 @@
|
|||||||
<string name="shutter_sound">Shutter sound</string>
|
<string name="shutter_sound">Shutter sound</string>
|
||||||
<string name="back_camera">Back camera resolutions</string>
|
<string name="back_camera">Back camera resolutions</string>
|
||||||
<string name="front_camera">Front camera resolutions</string>
|
<string name="front_camera">Front camera resolutions</string>
|
||||||
<string name="photo">Photo</string>
|
<string name="photo">فوٹو</string>
|
||||||
<string name="video">Video</string>
|
<string name="video">ویڈیو</string>
|
||||||
<string name="focus_before_capture">Focus before capture</string>
|
<string name="focus_before_capture">Focus before capture</string>
|
||||||
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
|
<string name="volume_buttons_as_shutter">Use volume buttons as shutter</string>
|
||||||
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
|
<string name="turn_flash_off_at_startup">Turn flash off at startup</string>
|
||||||
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
|
<string name="flip_front_camera_photos_horizontally">Flip front camera photos horizontally</string>
|
||||||
<string name="keep_settings_visible">Keep the setting buttons visible</string>
|
<string name="keep_settings_visible">Keep the setting buttons visible</string>
|
||||||
<string name="always_open_back_camera">Always open the app with the Back camera</string>
|
<string name="always_open_back_camera">Always open the app with the Back camera</string>
|
||||||
<string name="save_photo_metadata">Save photo exif metadata</string>
|
<string name="save_photo_metadata">ایکسیف میٹاڈیٹا سامبھو</string>
|
||||||
<string name="photo_compression_quality">Photo compression quality</string>
|
<string name="photo_compression_quality">Photo compression quality</string>
|
||||||
<string name="shutter">Shutter</string>
|
<string name="shutter">Shutter</string>
|
||||||
</resources>
|
</resources>
|
@@ -1 +1 @@
|
|||||||
Jednostavna kamera
|
Kamera jednostavna
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
video.txt:1
|
||||||
|
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
После того, как вы сделаете снимок, вы увидите новую миниатюру фотографии, нажав которую, вы можете быстро открыть ее в предпочитаемой вами галерее с помощью этого открытого приложения камеры. Вы увидите четкое указание, когда фотография будет сделана, гарантируя, что файл был сохранен.
|
После того, как вы сделаете снимок, вы увидите новую миниатюру фотографии, нажав которую, вы можете быстро открыть ее в предпочитаемой вами галерее с помощью этого открытого приложения камеры. Вы увидите четкое указание, когда фотография будет сделана, гарантируя, что файл был сохранен.
|
||||||
|
|
||||||
Если вы хотите запустить это простое открытое приложение камеры при нажатии аппаратной кнопки камеры вашего устройства, возможно, вам придется отключить встроенное приложение «Камера» в «Настройки» -> «Приложения» -> «Камера» -> «Отключить».
|
Если вы хотите запустить это простое открытое приложение камеры при нажатии аппаратной кнопки камеры вашего устройства, возможно, вам придется отключить встроенное приложение «Камера» в «Настройки» → «Приложения» → «Камера» → «Отключить».
|
||||||
|
|
||||||
Вы можете настроить его на использование кнопок громкости в качестве затвора или на включение фонарика по умолчанию при запуске.
|
Вы можете настроить его на использование кнопок громкости в качестве затвора или на включение фонарика по умолчанию при запуске.
|
||||||
|
|
||||||
@@ -19,11 +19,11 @@
|
|||||||
Ознакомьтесь с полным набором простых инструментов здесь:
|
Ознакомьтесь с полным набором простых инструментов здесь:
|
||||||
https://www.simplemobiletools.com
|
https://www.simplemobiletools.com
|
||||||
|
|
||||||
Фейсбук:
|
Facebook:
|
||||||
https://www.facebook.com/simplemobiletools
|
https://www.facebook.com/simplemobiletools
|
||||||
|
|
||||||
Реддит:
|
Reddit:
|
||||||
https://www.reddit.com/r/SimpleMobileTools
|
https://www.reddit.com/r/SimpleMobileTools
|
||||||
|
|
||||||
Телеграмма:
|
Telegram:
|
||||||
https://t.me/SimpleMobileTools
|
https://t.me/SimpleMobileTools
|
Reference in New Issue
Block a user