Skip to content

Commit 0f37519

Browse files
committed
v1.0.0-beta3
1 parent 719f50c commit 0f37519

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+2037
-1759
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ android {
1616
}
1717

1818
dependencies {
19-
implementation project(':camerakit')
19+
implementation 'com.camerakit:camerakit:1.0.0-beta3'
2020
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.50'
2121
implementation 'com.camerakit:jpegkit:0.2.0-alpha1'
2222
implementation 'com.android.support:appcompat-v7:28.0.0-alpha3'

app/src/main/java/com/camerakit/app/MainActivity.java

Lines changed: 139 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,20 @@
55
import android.graphics.Color;
66
import android.os.Bundle;
77
import android.provider.MediaStore;
8+
import android.support.design.widget.FloatingActionButton;
89
import android.support.v7.app.AlertDialog;
910
import android.support.v7.app.AppCompatActivity;
11+
import android.support.v7.widget.AppCompatTextView;
1012
import android.support.v7.widget.Toolbar;
1113
import android.text.Html;
14+
import android.util.Log;
1215
import android.view.MenuItem;
1316
import android.view.View;
1417
import android.widget.Button;
1518

1619
import com.camerakit.CameraKit;
1720
import com.camerakit.CameraKitView;
21+
import com.camerakit.type.CameraSize;
1822
import com.jpegkit.Jpeg;
1923
import com.jpegkit.JpegImageView;
2024

@@ -23,9 +27,19 @@ public class MainActivity extends AppCompatActivity implements Toolbar.OnMenuIte
2327
private CameraKitView cameraView;
2428
private Toolbar toolbar;
2529

26-
private Button photoButton;
27-
private Button flashButton;
28-
private Button facingButton;
30+
private AppCompatTextView facingText;
31+
private AppCompatTextView flashText;
32+
private AppCompatTextView previewSizeText;
33+
private AppCompatTextView photoSizeText;
34+
35+
private Button flashAutoButton;
36+
private Button flashOnButton;
37+
private Button flashOffButton;
38+
39+
private FloatingActionButton photoButton;
40+
41+
private Button facingFrontButton;
42+
private Button facingBackButton;
2943

3044
private Button permissionsButton;
3145

@@ -42,14 +56,27 @@ protected void onCreate(Bundle savedInstanceState) {
4256
toolbar.inflateMenu(R.menu.main);
4357
toolbar.setOnMenuItemClickListener(this);
4458

59+
facingText = findViewById(R.id.facingText);
60+
flashText = findViewById(R.id.flashText);
61+
previewSizeText = findViewById(R.id.previewSizeText);
62+
photoSizeText = findViewById(R.id.photoSizeText);
63+
4564
photoButton = findViewById(R.id.photoButton);
4665
photoButton.setOnClickListener(photoOnClickListener);
4766

48-
flashButton = findViewById(R.id.flashButton);
49-
flashButton.setOnClickListener(flashOnClickListener);
67+
flashAutoButton = findViewById(R.id.flashAutoButton);
68+
flashOnButton = findViewById(R.id.flashOnButton);
69+
flashOffButton = findViewById(R.id.flashOffButton);
5070

51-
facingButton = findViewById(R.id.facingButton);
52-
facingButton.setOnClickListener(facingOnClickListener);
71+
flashAutoButton.setOnClickListener(flashAutoOnClickListener);
72+
flashOnButton.setOnClickListener(flashOnOnClickListener);
73+
flashOffButton.setOnClickListener(flashOffOnClickListener);
74+
75+
facingFrontButton = findViewById(R.id.facingFrontButton);
76+
facingBackButton = findViewById(R.id.facingBackButton);
77+
78+
facingFrontButton.setOnClickListener(facingFrontOnClickListener);
79+
facingBackButton.setOnClickListener(facingBackOnClickListener);
5380

5481
permissionsButton = findViewById(R.id.permissionsButton);
5582
permissionsButton.setOnClickListener(new View.OnClickListener() {
@@ -72,6 +99,31 @@ public void onPermissionsFailure() {
7299
permissionsButton.setVisibility(View.VISIBLE);
73100
}
74101
});
102+
103+
cameraView.setCameraListener(new CameraKitView.CameraListener() {
104+
@Override
105+
public void onOpened() {
106+
Log.v("CameraKitView", "CameraListener: onOpened()");
107+
}
108+
109+
@Override
110+
public void onClosed() {
111+
Log.v("CameraKitView", "CameraListener: onClosed()");
112+
}
113+
});
114+
115+
cameraView.setPreviewListener(new CameraKitView.PreviewListener() {
116+
@Override
117+
public void onStart() {
118+
Log.v("CameraKitView", "PreviewListener: onStart()");
119+
updateInfoText();
120+
}
121+
122+
@Override
123+
public void onStop() {
124+
Log.v("CameraKitView", "PreviewListener: onStop()");
125+
}
126+
});
75127
}
76128

77129
@Override
@@ -116,35 +168,105 @@ public boolean onMenuItemClick(MenuItem item) {
116168
public void onClick(View v) {
117169
cameraView.captureImage(new CameraKitView.ImageCallback() {
118170
@Override
119-
public void onImage(CameraKitView vew, final byte[] photo) {
120-
runOnUiThread(new Runnable() {
171+
public void onImage(CameraKitView view, final byte[] photo) {
172+
new Thread(new Runnable() {
121173
@Override
122174
public void run() {
123-
Jpeg jpeg = new Jpeg(photo);
124-
imageView.setJpeg(jpeg);
175+
final Jpeg jpeg = new Jpeg(photo);
176+
imageView.post(new Runnable() {
177+
@Override
178+
public void run() {
179+
imageView.setJpeg(jpeg);
180+
}
181+
});
125182
}
126-
});
183+
}).start();
127184
}
128185
});
129186
}
130187
};
131188

132-
private View.OnClickListener flashOnClickListener = new View.OnClickListener() {
189+
private View.OnClickListener flashAutoOnClickListener = new View.OnClickListener() {
190+
@Override
191+
public void onClick(View v) {
192+
if (cameraView.getFlash() != CameraKit.FLASH_AUTO) {
193+
cameraView.setFlash(CameraKit.FLASH_AUTO);
194+
updateInfoText();
195+
}
196+
}
197+
};
198+
199+
private View.OnClickListener flashOnOnClickListener = new View.OnClickListener() {
133200
@Override
134201
public void onClick(View v) {
135-
if (cameraView.getFlash() == CameraKit.FLASH_OFF) {
202+
if (cameraView.getFlash() != CameraKit.FLASH_ON) {
136203
cameraView.setFlash(CameraKit.FLASH_ON);
137-
} else {
204+
updateInfoText();
205+
}
206+
}
207+
};
208+
209+
private View.OnClickListener flashOffOnClickListener = new View.OnClickListener() {
210+
@Override
211+
public void onClick(View v) {
212+
if (cameraView.getFlash() != CameraKit.FLASH_OFF) {
138213
cameraView.setFlash(CameraKit.FLASH_OFF);
214+
updateInfoText();
139215
}
140216
}
141217
};
142218

143-
private View.OnClickListener facingOnClickListener = new View.OnClickListener() {
219+
private View.OnClickListener facingFrontOnClickListener = new View.OnClickListener() {
144220
@Override
145221
public void onClick(View v) {
146-
cameraView.toggleFacing();
222+
cameraView.setFacing(CameraKit.FACING_FRONT);
147223
}
148224
};
149225

226+
private View.OnClickListener facingBackOnClickListener = new View.OnClickListener() {
227+
@Override
228+
public void onClick(View v) {
229+
cameraView.setFacing(CameraKit.FACING_BACK);
230+
}
231+
};
232+
233+
private void updateInfoText() {
234+
String facingValue = cameraView.getFacing() == CameraKit.FACING_BACK ? "BACK" : "FRONT";
235+
facingText.setText(Html.fromHtml("<b>Facing:</b> " + facingValue));
236+
237+
String flashValue = "OFF";
238+
switch (cameraView.getFlash()) {
239+
case CameraKit.FLASH_OFF: {
240+
flashValue = "OFF";
241+
break;
242+
}
243+
244+
case CameraKit.FLASH_ON: {
245+
flashValue = "ON";
246+
break;
247+
}
248+
249+
case CameraKit.FLASH_AUTO: {
250+
flashValue = "AUTO";
251+
break;
252+
}
253+
254+
case CameraKit.FLASH_TORCH: {
255+
flashValue = "TORCH";
256+
break;
257+
}
258+
}
259+
flashText.setText(Html.fromHtml("<b>Flash:</b> " + flashValue));
260+
261+
CameraSize previewSize = cameraView.getPreviewResolution();
262+
if (previewSize != null) {
263+
previewSizeText.setText(Html.fromHtml(String.format("<b>Preview Resolution:</b> %d x %d", previewSize.getWidth(), previewSize.getHeight())));
264+
}
265+
266+
CameraSize photoSize = cameraView.getPhotoResolution();
267+
if (photoSize != null) {
268+
photoSizeText.setText(Html.fromHtml(String.format("<b>Photo Resolution:</b> %d x %d", photoSize.getWidth(), photoSize.getHeight())));
269+
}
270+
}
271+
150272
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M10,20L5,20v2h5v2l3,-3 -3,-3v2zM14,20v2h5v-2h-5zM17,0L7,0C5.9,0 5,0.9 5,2v14c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2L19,2c0,-1.1 -0.9,-2 -2,-2zM12,6c-1.11,0 -2,-0.9 -2,-2s0.89,-2 1.99,-2 2,0.9 2,2C14,5.1 13.1,6 12,6z"/>
5+
</vector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M10,20L5,20v2h5v2l3,-3 -3,-3v2zM14,20v2h5v-2h-5zM12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -1.99,0.9 -1.99,2S10.9,8 12,8zM17,0L7,0C5.9,0 5,0.9 5,2v14c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2L19,2c0,-1.1 -0.9,-2 -2,-2zM7,2h10v10.5c0,-1.67 -3.33,-2.5 -5,-2.5s-5,0.83 -5,2.5L7,2z"/>
5+
</vector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M3,2v12h3v9l7,-12L9,11l4,-9L3,2zM19,2h-2l-3.2,9h1.9l0.7,-2h3.2l0.7,2h1.9L19,2zM16.85,7.65L18,4l1.15,3.65h-2.3z"/>
5+
</vector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M3.27,3L2,4.27l5,5V13h3v9l3.58,-6.14L17.73,20 19,18.73 3.27,3zM17,10h-4l4,-8H7v2.18l8.46,8.46L17,10z"/>
5+
</vector>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<vector android:height="24dp" android:tint="#FFFFFF"
2+
android:viewportHeight="24.0" android:viewportWidth="24.0"
3+
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
4+
<path android:fillColor="#FF000000" android:pathData="M6,14l3,3v5h6v-5l3,-3L18,9L6,9zM11,2h2v3h-2zM3.5,5.875L4.914,4.46l2.12,2.122L5.62,7.997zM16.96,6.585l2.123,-2.12 1.414,1.414L18.375,8z"/>
5+
</vector>

0 commit comments

Comments
 (0)