Академический Документы
Профессиональный Документы
Культура Документы
Lucrare de curs
la disciplina:
Chiinu 2015
Cuprins
Cuprins.....2
Introducere3
1. Sistemul Video Registrare....3
1.1 Definiie..3
1.2 Medii de utilizare a DVR......................................................................................................................3
1.3 Crearea unui Sistem Video Registrare..................................................................................................4
1.4 Caracteristicile tehnice ale Sistemului Video Registrator.....................................................................4
1.5 Testarea aplicaiei create.......................................................................................................................4
1.6 Avantaje i dezavantaje.........................................................................................................................5
2. Proiectarea sistemului informaional.....................................................................................................6
2.1 Instrumentul de modelare.....................................................................................................................6
2.2 Descriere Enterprise Architect.............................................................................................................6
2.3 Descrierea limbajului UML.................................................................................................................6
2.4 Modelarea unui Sistem Video Registrator...........................................................................................7
2.4.1 Diagrame Use case............................................................................................................................7
2.4.2 Diagrame de secven.......................................................................................................................9
2.4.3 Diagrama claselor.............................................................................................................................11
2.4.4 Diagrame de stare.............................................................................................................................12
2.4.5 Diagrama de activiti......................................................................................................................15
2.4.6 Diagrame de componente................................................................................................................19
2.4.7 Diagrama de distribuie....................................................................................................................21
3. Prezentarea aplicaiei ..........................................................................................................................23
3.1 Compilarea Aplicatiei.........................................................................................................................23
3.2 Screen aplicaie...................................................................................................................................23
Concluzii...................................................................................................................................................26
Bibliografie...............................................................................................................................................27
Anexa A Cod surs...................................................................................................................28
Intoducere
nregistrator Video Auto este dispozitiv pentru video i audio pentru a supraveghea situaia n jurul
mainii atunci cnd se afl n micare sau staionare, precum i n interiorul habitaclului (opional - dac o
camera suplimentara).Scopul principal este de a colecta probe de baz n situaii controversate i
accidente.
DVR (Digital Video Recorder) este un dispozitiv conceput pentru a nregistra, stoca i redare
video. DVR-uri, utilizate n principal n sisteme de supraveghere video, att staionar (pe obiecte) i
mobile (de exemplu, video auto)[1].
1. Sistemul meu este Video Registrator el are o interfa placut , simpl i uor folosibil fa a de
interfaa aplicaiei Video Recorder Demo i Wondershare PowerCam care au o interfa greu
accesibil i la fel greu de utilizat;
2. Alt avantaj al sistemului meu Video Registrator este dimensiunea nregistrrii video care poate fi
aleas de utilizator aciast funcie o are i Wondershare PowerCam , dar Video Recorder Demo nu
are aciast posibilitate;
3. Sistemul Video Registrator are efecte video disponibile ca la orice camera , sistemul Video Recorder
Demo nu are efecte la camer ;
4. Este gratis ca i sistemul Video Recorder Demo , Wondershare PowerCam ne fiind gratis;
5. Sistemul mer pornete auto cu un timer nici alt sistem din cele 2 comparate nu poate face acest lucru;
6. Menager fisiere stocate n sistemul meu este mai plcut i mai uor de folosit dect Video Recorder
Demo;
7. Wondershare PowerCam i sistemul Video registrator au posibilitatea de activare a camerei fa
sistemul Video Recorder Demo nu are funcia dat;
Dezavantaje:
1. Este o aplicaie mai simpl dect cele cu plat am n vedere Wondershare PowerCam,fiind mai srac
n setri i butoane;
2. Sistemul Wondershare PowerCam este un sistem bine cunoscut de utilizatori ,sistemul Video
registrator este nou, necunoscut, este necesar o publicitate mai dezvoltat i un reiting mai mare c s
atrag clieni;
3. Sistemul Video Registrator nu conine galerie foto doar video, sistemul Wondershare PowerCam are
galerie i este foarte comod;
4. Wondershare PowerCam poate postata video direct pe internet sau s transmit pe pota electronic ,
sistemul Video registrator ca i Video Recorder Demo nu au aciast posibilitate;
5. Ca i la restu dou sisteme nu se nregistriaz viteza de circulaie a vehiculului.
descriu
n figura 2.4.2 sunt descrise procesul de folosire a aplicaiei.utilizatorul deshide aplica ia o seteaz
dup gustul su i dup posibilitile tehnice ale smartphonului, n urma selectrii unui criteriu
vizualizeaz schimbarile produse.
n figura 2.4.3 vizualizm paii pe care-i parcurge utilizatorul la deschiderea aplica iei noastre, el
va trebui s confirme c dorete sa utilizeze aplicaia, dup care i va aprea interfaa. n caz de un mic
bug/eroare aplicaia se va nchide automat[4].
Figura2.4.5
10
n figura de mai sus este reprezentat diagrama de secven pentru stingerea sau aprinderea
flashului dispozitivului . Este reprezentat interaciunea dintre actorul utilizator , setarile aplicatiei i
insi aplicaiei.
12
13
14
n diagrama din figura 2.5.1 sunt prezentate starile pe care le va parcurge utilizatorul sistemului
pentru a seta timpul de nregistrare.
intrare i o singur ieire. n cazul cind e necesar s existe mai multe intrri sau ie iri se utilizeaz
ramificatoarele.
16
17
18
19
Una din funcionalitile Sistemului nregistrare Video, este gestionarea nregistrrilor, cum ar fi:
verificarea nregistrrilor, vizualizarea nregistrrilor , tergerea . Dup cum se observ din figur n
momentul accesrii unei opiuni, sistemul are o gestionare efectiv pentru a accesa opiunea.
20
21
Figura 2.5.8
n figura 2.5.8 este reprezentat diagram de distribuie , utilizatorul va descrca aplicaia de pe
server pe devisul su unde va primi instalaia apk-ului.
22
3 Prezentarea aplicaiei
3.1 Compilarea Aplicatiei
Pentru inceperea dezvolatrii aplicatiei, este nevoie de setat Java pe masina locala si de downloadad
AndroidStudioIDE. Se pare ca nu-i su_cient, insta echipa Google s-a straduit si se straduie in dezvoltarea
a unui IDE cit se poate de comod. El vine integrat deodata cu toate cele necesare: Gradle si AndroidSDK.
Instrument de build al aplicatiei, a fost ales Gradle. Motivul general _ind combinarea a laturilor
puternice a altor instrumente de build (Ant si Maven). Pentru acoperirea a mai multor versiuni, a fost
utilizata librariesupport pentru versiuni android de pina la v.2.2. In intereiorul _sierului
AndroidManifest:xml este descrisa arhitecura aplocatiei(elementele radacine autonome), punctul de
intrare, fel de fel de permisiuni i altele.
3.2 Screen aplicaie
Vizualizarea interfeei
n acest screen se vede continutul interfeei Video Registratorului , cum ar fi pornirea video
luminiscena , timerul , conectare camer fa , managerul fiiere , deconectare/conectare flash.
Figura3.1-Interfaa aplicaiei
23
25
Concluzii
n urma dezvoltarii aplicatiei, am inteles cit e de importanta planificrii n ciclul de via a
dezvoltrii aplicaiilor. nainte de a scrie cod, mai ntii de toate trebuie puse la punct bine cerinele i
trebuie s fie descrise ct mai detalizat funcionalitile. Pentru acest scop a fost creat UML. n stadiul
actual de dezvoltare software este aproape de neconceput dezvoltarea aplicaiilor de dimensiuni mari fr
specificarea, descrierea i documentarea proiectului. Descrierea n cuvinte sau folosind notaii ad-hoc este
dificil i insuficient i prezint dificulti imense privind nelegerea unanim, dezvoltarea i
ntreinerea aplicaiei, dificulti care se amplific n timp.
n fiecare etap de dezvoltare software a unui sistem se pot folosi mai multe modelri (diagrame)
UML, pentru a oferi viziunea (vederea) utilizator, structura sistemului i comportarea acestuia. Modelarea
UML a aplicaiilor tinde s fie tot mai larg rspndit, asigurnd compatibilitate, posibiliti de interoperabilitate, re-utilizare a software-ului, i multe alte avantaje.
Aceasta aplicaie este utila n timpul cltoriilor cu automobilul. Este autonoma si nu depinde de
conexiune internet. Depinde doar de capacitatea bateriei i spatiului de memorie a dispozitivuluie. Totui
ea poate fi mbunatit dupa parerea mea. Ar bine daca s-ar creat un serviciu online pentru ncrcarea
nregistrrilor, n rest sint destul de mulumit de aplicaia creata. Intentionez s-o plasez pe Android
Market.
26
Bibliografie
1 tefen Marin, Analiza i modelarea sistemelor informatice ndrumar metodic pentru lucrri de
laborator, UTM 2004
2 http://ro.wikipedia.org/wiki/Sistem_android
3 MODELAREA PROCESELOR DE AFACERI UTILIZAND UML, 2012
4 Florin Leon, Limbajul unificat de modelare UML, Universitatea Tehnic Gh. Asachi, Iai
27
Anexa A
Codul surs
package com.androidexample.videocamera;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
android.app.ActivityManager;
android.content.BroadcastReceiver;
android.content.ComponentName;
android.content.Context;
android.content.DialogInterface;
android.content.Intent;
android.content.IntentFilter;
android.content.SharedPreferences;
android.content.pm.PackageManager;
android.content.res.Resources;
android.graphics.Color;
android.hardware.Camera;
android.media.CamcorderProfile;
android.media.MediaMetadataRetriever;
android.media.MediaPlayer;
android.media.MediaRecorder;
android.net.Uri;
android.os.AsyncTask;
android.os.Bundle;
android.os.CountDownTimer;
android.os.Environment;
android.os.SystemClock;
android.preference.PreferenceManager;
android.util.DisplayMetrics;
android.util.Log;
android.view.MotionEvent;
android.view.SurfaceHolder;
android.view.View;
android.view.Window;
android.view.animation.AnimationUtils;
android.widget.AdapterView;
android.widget.ArrayAdapter;
android.widget.CheckBox;
android.widget.Chronometer;
android.widget.FrameLayout;
android.widget.ImageView;
android.widget.LinearLayout;
android.widget.ListView;
android.widget.ProgressBar;
android.widget.ScrollView;
android.widget.TextView;
android.widget.Toast;
com.neoadn.neoadnvideocamera.helper.AdmobHelperNeoadn;
com.neoadn.neoadnvideocamera.helper.neoadnHelperCMItems;
java.io.File;
28
this$0 = MainActivity.this;
super();
}
AutoFocusCallBackImpl(AutoFocusCallBackImpl autofocuscallbackimpl)
{
this();
}
}
class MediaPrepareTask extends AsyncTask
{
final MainActivity this$0;
protected transient Boolean doInBackground(Void avoid[])
{
releaseCamera();
if (prepareVideoRecorder())
{
mMediaRecorder.start();
return Boolean.valueOf(true);
} else
{
releaseMediaRecorder();
return Boolean.valueOf(false);
}
}
protected volatile transient Object doInBackground(Object aobj[])
{
return doInBackground((Void[])aobj);
}
protected void onPostExecute(Boolean boolean1)
{
if (!boolean1.booleanValue())
{
finish();
}
try
{
if (actZoom != 0)
{
params.setZoom(actZoom);
mCamera.setParameters(params);
}
}
// Declaraia deplasat a unei variabile excepie
catch (Boolean boolean1) { }
iv_record.setImageResource(0x7f020094);
isRecording = true;
startRecordingAction();
try
{
if (!cameraFocusing)
{
iv_anim_focus.setVisibility(0);
boolean1 = AnimationUtils.loadAnimation(getApplicationContext(),
0x7f020057);
iv_anim_focus.startAnimation(boolean1);
cameraFocusing = true;
setCameraFocus();
}
return;
}
// Declaraia deplasat a unei variabile excepie
catch (Boolean boolean1)
{
return;
29
}
}
protected volatile void onPostExecute(Object obj)
{
onPostExecute((Boolean)obj);
}
MediaPrepareTask()
{
this$0 = MainActivity.this;
super();
}
}
class MediaPrepareTaskPause extends AsyncTask
{
final MainActivity this$0;
protected transient Boolean doInBackground(Void avoid[])
{
releaseCamera();
if (prepareVideoRecorder())
{
mMediaRecorder.start();
return Boolean.valueOf(true);
} else
{
releaseMediaRecorder();
return Boolean.valueOf(false);
}
}
protected volatile transient Object doInBackground(Object aobj[])
{
return doInBackground((Void[])aobj);
}
protected void onPostExecute(Boolean boolean1)
{
if (!boolean1.booleanValue())
{
finish();
}
try
{
if (actZoom != 0)
{
params.setZoom(actZoom);
mCamera.setParameters(params);
}
}
// Declaraia deplasat a unei variabile excepie
catch (Boolean boolean1) { }
if (flashONpause)
{
boolean1 = mCamera.getParameters();
boolean1.setFlashMode("torch");
mCamera.setParameters(boolean1);
iv_flash.setImageResource(0x7f020076);
flashOn = true;
}
isRecording = true;
pauseRecordingAction();
iv_pause.setImageResource(0x7f02008a);
try
{
if (!cameraFocusing)
{
30
iv_anim_focus.setVisibility(0);
boolean1 = AnimationUtils.loadAnimation(getApplicationContext(),
0x7f020057);
iv_anim_focus.startAnimation(boolean1);
cameraFocusing = true;
setCameraFocus();
}
return;
}
// Declaraia deplasat a unei variabile excepie
catch (Boolean boolean1)
{
return;
}
}
protected volatile void onPostExecute(Object obj)
{
onPostExecute((Boolean)obj);
}
MediaPrepareTaskPause()
{
this$0 = MainActivity.this;
super();
}
}
public class ProgressReceiver extends BroadcastReceiver
{
final MainActivity this$0;
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals("com.neoadn.intent.action.PROGRESO"))
{
ll_items_info_merge.setVisibility(0);
total = intent.getIntExtra("total", 0);
unidos = intent.getIntExtra("unidos", 0);
prog = intent.getIntExtra("progreso", 0);
stado = intent.getStringExtra("state");
nomArchFinal = intent.getStringExtra("nombre");
context = getResources().getDrawable(0x7f020070);
progressBar.setProgressDrawable(context);
if (progressBar.getVisibility() == 8)
{
progressBar.setVisibility(0);
}
progressBar.setProgress(prog);
tv_info_merge_info.setText(stado);
} else
if (intent.getAction().equals("com.neoadn.intent.action.FIN"))
{
progressBar.setProgress(100);
MainActivity.playFile = intent.getStringExtra("nombre");
stado = intent.getStringExtra("state");
tv_info_merge_info.setText(stado);
copyFileToDefaultFolder();
Log.i("playFile", MainActivity.playFile);
try
{
unregisterReceiver(rcv);
}
// Declaraia deplasat a unei variabile excepie
catch (Context context) { }
(new CountDownTimer(5000L, 1000L) {
final ProgressReceiver this$1;
31
{
this$1 = ProgressReceiver.this;
super(l, l1);
}
}).start();
return;
}
}
public ProgressReceiver()
{
this$0 = MainActivity.this;
super();
}
}
public MainActivity()
{
timeWhenStopped = 0L;
maxFPS = 0;
countDownTimerOn = false;
}
private boolean checkCameraHardware(Context context)
{
return context.getPackageManager().hasSystemFeature("android.hardware.camera");
}
public static Camera getCameraInstance()
{
Camera camera1 = null;
Camera camera = camera1;
android.hardware.Camera.CameraInfo camerainfo;
int i;
try
{
id = (new CameraBackFront()).getBackCameraId();
}
catch (Exception exception)
{
return camera;
}
camera = camera1;
camera1 = Camera.open(id);
if (camera1 == null)
{
break MISSING_BLOCK_LABEL_40;
}
camera = camera1;
camera1.setParameters(camera1.getParameters());
camera = camera1;
i = android.os.Build.VERSION.SDK_INT;
if (i < 17)
{
32
break MISSING_BLOCK_LABEL_128;
}
camera = camera1;
camerainfo = new android.hardware.Camera.CameraInfo();
camera = camera1;
Camera.getCameraInfo(id, camerainfo);
camera = camera1;
if (!camerainfo.canDisableShutterSound)
{
break MISSING_BLOCK_LABEL_100;
}
camera = camera1;
Log.i("SOUND", "MUTED");
camera = camera1;
camera1.enableShutterSound(false);
camera = camera1;
Log.i("VERSION", (new StringBuilder("MAYOR: ")).append(i).toString());
return camera1;
camera = camera1;
Log.i("VERSION", (new StringBuilder("MENOR: ")).append(i).toString());
return camera1;
}
private File getOutputMediaFile(int i)
{
File file = getFolder();
if (!file.exists() && !file.mkdirs())
{
Log.d("MyCameraApp", "failed to create directory");
} else
{
String s = (new SimpleDateFormat("yyyyMMdd_HHmmss")).format(new Date());
fileName = (new StringBuilder("VID_")).append(s).append(".mp4").toString();
if (i == 2)
{
return new File((new
StringBuilder(String.valueOf(file.getPath()))).append(File.separator).append(fileName).toStrin
g());
}
}
return null;
}
private boolean isServiceMergeVideoActive()
{
Iterator iterator =
((ActivityManager)getSystemService("activity")).getRunningServices(0x7fffffff).iterator();
android.app.ActivityManager.RunningServiceInfo runningserviceinfo;
do
{
if (!iterator.hasNext())
{
return false;
}
runningserviceinfo =
(android.app.ActivityManager.RunningServiceInfo)iterator.next();
} while (!
com/neoadn/neoadnvideocamera/serviceMergeVideo.getName().equals(runningserviceinfo.service.get
ClassName()));
return true;
}
private boolean prepareVideoRecorder()
{
mCamera = getCameraInstance();
android.hardware.Camera.Parameters parameters = mCamera.getParameters();
if (flashONpause)
{
parameters.setFlashMode("torch");
mCamera.setParameters(parameters);
33
iv_flash.setImageResource(0x7f020076);
flashOn = true;
}
parameters.setRecordingHint(true);
mCamera.setParameters(parameters);
try
{
mCamera.setPreviewDisplay(null);
}
catch (IOException ioexception)
{
Log.d("MainActivity", (new StringBuilder("IOException nullifying preview display:
")).append(ioexception.getMessage()).toString());
}
mCamera.stopPreview();
mMediaRecorder = new MediaRecorder();
mCamera.unlock();
mMediaRecorder.setCamera(mCamera);
mMediaRecorder.setAudioSource(5);
mMediaRecorder.setVideoSource(1);
try
{
if (maxFPS > 0)
{
mMediaRecorder.setVideoEncodingBitRate(maxFPS);
Log.d("CaptureRate", (new StringBuilder()).append(maxFPS).toString());
}
}
catch (Exception exception)
{
Log.e("CaptureRate-Error", (new StringBuilder()).append(maxFPS).toString());
}
if (qualityString().equalsIgnoreCase("Low"))
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 0));
} else
if (qualityString().equalsIgnoreCase("High"))
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 1));
} else
if (qualityString().equalsIgnoreCase("480p"))
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 4));
} else
if (qualityString().equalsIgnoreCase("720p"))
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 5));
} else
if (qualityString().equalsIgnoreCase("1080p"))
{
try
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 6));
}
catch (Exception exception1)
{
mMediaRecorder.setProfile(CamcorderProfile.get(id, 1));
}
} else
{
mMediaRecorder.setProfile(CamcorderProfile.get(0, 1));
}
mMediaRecorder.setOutputFile(getOutputMediaFile(2).toString());
addFileNameDB();
mMediaRecorder.setPreviewDisplay(mPreview.getHolder().getSurface());
try
{
mMediaRecorder.prepare();
}
catch (IllegalStateException illegalstateexception)
34
{
Log.d("MainActivity", (new StringBuilder("IllegalStateException preparing
MediaRecorder: ")).append(illegalstateexception.getMessage()).toString());
releaseMediaRecorder();
return false;
}
catch (IOException ioexception1)
{
Log.d("MainActivity", (new StringBuilder("IOException preparing MediaRecorder:
")).append(ioexception1.getMessage()).toString());
releaseMediaRecorder();
return false;
}
return true;
}
private void releaseCamera()
{
flashStatus = "torch";
if (!mCamera.getParameters().getFlashMode().contains(flashStatus)) goto _L2; else goto
_L1
_L1:
Log.i("Lol", flashStatus);
flashONpause = true;
_L4:
if (mCamera != null)
{
mPreview.getHolder().removeCallback(mPreview);
mCamera.release();
mCamera = null;
Log.d("onPause", "Camera Released!");
}
return;
_L2:
try
{
flashONpause = false;
}
catch (Exception exception) { }
if (true) goto _L4; else goto _L3
_L3:
}
private void releaseMediaRecorder()
{
if (mMediaRecorder != null)
{
mMediaRecorder.reset();
mMediaRecorder.release();
mMediaRecorder = null;
mCamera.lock();
}
}
private void videoRatio()
{
screenHeight = getResources().getDisplayMetrics().heightPixels;
screenWidth = getResources().getDisplayMetrics().widthPixels;
Log.i("MainActivity-ScreenSize", (new
StringBuilder(String.valueOf(screenWidth))).append(" - ").append(screenHeight).toString());
int i = getVideoW();
int j = getVideoH();
Log.i("MainActivity-videoSize", (new StringBuilder(String.valueOf(i))).append(" ").append(j).toString());
if (qualityString().equalsIgnoreCase("High") ||
qualityString().equalsIgnoreCase("1080p") || qualityString().equalsIgnoreCase("720p"))
{
int k = screenWidth;
int i1 = (screenWidth * j) / i;
if (i1 > screenHeight)
35
{
k = screenHeight;
i = (screenHeight * i) / j;
android.widget.LinearLayout.LayoutParams layoutparams = new
android.widget.LinearLayout.LayoutParams(0, k, i);
layoutparams.gravity = 17;
Log.d("Final-Ratio_low", (new StringBuilder("Ancho:")).append(i).append(" Alto: ").append(k).toString());
preview.setLayoutParams(layoutparams);
mPreview.getHolder().setSizeFromLayout();
return;
} else
{
android.widget.LinearLayout.LayoutParams layoutparams1 = new
android.widget.LinearLayout.LayoutParams(0, i1, k);
layoutparams1.gravity = 17;
Log.d("Final-Ratio_low", (new StringBuilder("Ancho:")).append(k).append(" Alto: ").append(i1).toString());
preview.setLayoutParams(layoutparams1);
mPreview.getHolder().setSizeFromLayout();
return;
}
}
int l = screenWidth;
int j1 = (screenWidth * j) / i;
Log.i("MainActivity-480p", (new StringBuilder(String.valueOf(l))).append(" ").append(j1).toString());
if (j1 > screenHeight)
{
l = screenHeight;
i = (screenHeight * i) / j;
Log.i("MainActivity-480p", (new StringBuilder(String.valueOf(i))).append(" ").append(l).toString());
android.widget.LinearLayout.LayoutParams layoutparams2 = new
android.widget.LinearLayout.LayoutParams(0, l, i);
layoutparams2.gravity = 17;
Log.d("Final-Ratio_low", (new StringBuilder("Ancho:")).append(i).append(" - Alto:
").append(l).toString());
preview.setLayoutParams(layoutparams2);
mPreview.getHolder().setSizeFromLayout();
return;
} else
{
android.widget.LinearLayout.LayoutParams layoutparams3 = new
android.widget.LinearLayout.LayoutParams(0, j1, l);
layoutparams3.gravity = 17;
Log.d("Final-Ratio_low", (new StringBuilder("Ancho:")).append(l).append(" - Alto:
").append(j1).toString());
preview.setLayoutParams(layoutparams3);
mPreview.getHolder().setSizeFromLayout();
return;
}
}
public void actionButtonPause()
{
hasPaused = true;
if (isRecording)
{
mMediaRecorder.stop();
releaseMediaRecorder();
mCamera.lock();
isRecording = false;
pauseRecordingAction();
iv_pause.setImageResource(0x7f020087);
playVisibility();
return;
} else
{
(new MediaPrepareTaskPause()).execute(new Void[] {
36
37
((AdaptadorBD) (obj)).cerrar();
obj = new AdapterHelper(this);
playFile = fileName;
Log.i("MainActivityNUM VIDE", (new StringBuilder()).append(((AdapterHelper)
(obj)).videoNumber()).toString());
Log.i("MainActivity", (new StringBuilder("Add: ")).append(fileName).toString());
}
public void bottom2top(View view)
{
}
public void cameraActions()
{
CameraBackFront camerabackfront;
camera_back = false;
camera_front = false;
camerabackfront = new CameraBackFront(this, getApplicationContext());
if (camerabackfront.getBackCameraId() == -1) goto _L2; else goto _L1
_L1:
camera_back = true;
if (camerabackfront.getFrontCameraId() == -1) goto _L4; else goto _L3
_L3:
camera_front = true;
iv_camera_location.setVisibility(0);
_L6:
return;
_L4:
iv_camera_location.setVisibility(8);
return;
_L2:
if (camerabackfront.getFrontCameraId() != -1)
{
camera_front = true;
iv_camera_location.setVisibility(0);
return;
}
if (true) goto _L6; else goto _L5
_L5:
}
public void checkCameraItems()
{
CameraItemsOnPhone cameraitemsonphone = new CameraItemsOnPhone(this, mCamera);
try
{
maxFPS = cameraitemsonphone.getMaxFPS();
}
catch (Exception exception2)
{
Log.e("maxFPS", "error");
}
try
{
hasFlash = cameraitemsonphone.hasFlash();
}
catch (Exception exception14) { }
try
{
hasZoom = cameraitemsonphone.hasZoom();
}
catch (Exception exception13) { }
try
{
hasInfiniteFocus = cameraitemsonphone.hasInfiniteZoom();
}
catch (Exception exception12) { }
try
{
hasAntiBand = cameraitemsonphone.hasAntiBand();
38
}
catch (Exception exception11) { }
try
{
hasAutoWhiteBalance = cameraitemsonphone.hasAutoWhiteBalance();
}
catch (Exception exception10) { }
try
{
hasFocusModeAuto = cameraitemsonphone.hasFocusModeAuto();
}
catch (Exception exception9) { }
try
{
hasFocusVideoContinous = cameraitemsonphone.hasFocusModeContinuous();
}
catch (Exception exception8) { }
try
{
maxExp = cameraitemsonphone.getMaxExposure();
}
catch (Exception exception7) { }
try
{
minExp = cameraitemsonphone.getMinExposure();
}
catch (Exception exception6) { }
try
{
cameraitemsonphone.getBackCameraId();
cameraitemsonphone.getFrontCameraId();
}
catch (Exception exception5) { }
try
{
cameraitemsonphone.hasQualityVideoSupport();
}
catch (Exception exception3) { }
try
{
cameraitemsonphone.hasQualityVideoSupportFront();
}
catch (Exception exception4) { }
try
{
cameraitemsonphone.getListColorEffect();
}
catch (Exception exception) { }
try
{
setCameraItems();
return;
}
catch (Exception exception1)
{
return;
}
}
public void copyFileToDefaultFolder()
{
File file = new File(getFolder(), playFile);
String s = file.getPath();
File file1 = new File(s);
new File(ah.folderMovies(), playFile);
new File(ah.folderDCIM(), playFile);
Intent intent = new Intent(this, com/neoadn/neoadnvideocamera/intentServiceCopyVideo);
IntentFilter intentfilter = new IntentFilter();
intentfilter.addAction("com.neoadn.intent.copy.action.PROGRESO");
intentfilter.addAction("com.neoadn.intent.copy.action.FIN");
39
{
this$0 = MainActivity.this;
super();
}
}).setNegativeButton(s, new android.content.DialogInterface.OnClickListener() {
final MainActivity this$0;
public void onClick(DialogInterface dialoginterface, int i)
{
dialoginterface.cancel();
}
{
this$0 = MainActivity.this;
super();
}
}).show();
}
public void dialogDeleteItemList(final String deleteName)
{
String s = getResources().getString(0x7f0c0077);
String s1 = getResources().getString(0x7f0c0076);
String s2 = getResources().getString(0x7f0c0072);
String s3 = getResources().getString(0x7f0c0073);
40
(new
android.app.AlertDialog.Builder(this)).setTitle(s2).setMessage(s3).setPositiveButton(s1, new
android.content.DialogInterface.OnClickListener() {
final MainActivity this$0;
private final String val$deleteName;
public void onClick(DialogInterface dialoginterface, int i)
{
ah.deleteItemOnList(deleteName);
getItemsListView();
dialoginterface.cancel();
}
{
this$0 = MainActivity.this;
deleteName = s;
super();
}
}).setNegativeButton(s, new android.content.DialogInterface.OnClickListener() {
final MainActivity this$0;
public void onClick(DialogInterface dialoginterface, int i)
{
dialoginterface.cancel();
}
{
this$0 = MainActivity.this;
super();
}
}).show();
}
41
return PreferenceManager.getDefaultSharedPreferences(this).getString("folder_default",
"Default folder");
}
public void getDimensionFile()
{
Object obj1 = new File(getFolder(), fileName);
Object obj = new MediaMetadataRetriever();
((MediaMetadataRetriever) (obj)).setDataSource(((File) (obj1)).getPath());
obj1 = ((MediaMetadataRetriever) (obj)).extractMetadata(19);
obj = ((MediaMetadataRetriever) (obj)).extractMetadata(18);
Log.i("QU", (new StringBuilder(String.valueOf(obj1))).append(" - ").append(((String)
(obj))).toString());
try
{
(new CameraItemsOnPhone(this, mCamera)).setVideoRecordedQuality(qualityString(),
((String) (obj)), ((String) (obj1)));
return;
}
catch (Exception exception)
{
Log.e("MainActivityDimen", exception.getLocalizedMessage());
}
}
public File getFolder()
{
File file = null;
if (getDefaultFolder().equalsIgnoreCase(default_folder))
{
file = new
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES),
"neoadnVideo");
} else
{
if (getDefaultFolder().equalsIgnoreCase(dcim_folder))
{
return new
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), "Camera");
}
if (getDefaultFolder().equalsIgnoreCase(movies_folder))
{
return new
File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES), "");
}
}
return file;
}
public void getItemsListOnResume()
{
if ((new AdapterHelper(this)).videoNumberObs() > 0)
{
sv_items.setVisibility(8);
ll_items_listview.setVisibility(0);
getItemsListView();
}
}
public void getItemsListView()
{
AdapterHelper adapterhelper = new AdapterHelper(this);
myList = new ArrayList();
if (!myList.isEmpty())
{
myList.clear();
myList = adapterhelper.getListdb();
lv_merge.setAdapter(new ArrayAdapter(this, 0x7f03001e, myList));
return;
} else
42
{
myList = adapterhelper.getListdb();
lv_merge.setAdapter(new ArrayAdapter(this, 0x7f03001e, myList));
return;
}
}
public void getOptionsSaved()
{
SharedPreferences sharedpreferences =
PreferenceManager.getDefaultSharedPreferences(this);
mergeOnFinish = false;
focusMode = sharedpreferences.getString("focus_mode", "");
load_info = sharedpreferences.getBoolean("load_info_onresume", true);
ch_info_load.setChecked(load_info);
try
{
if (load_info)
{
loadItmsInfo();
}
}
catch (Exception exception1) { }
Log.i("focus_mode", focusMode);
try
{
focusModeOptions();
return;
}
catch (Exception exception)
{
return;
}
}
43