Screen


Screen은 3.0.0 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

Screen 은 HSP 에서 확장 라이브러리로 제공하는 API 로 aar 라이브러리 파일과 build.gradle 파일을 수정하여 사용할 수 있다. 

라이브러리 추가 방법은 Android 개발 가이드의 내용을 참조하면 된다.

Screen 은 화면의 밝기를 조절하는 기능을 가지고 있으며 Optional 한 기능이므로 사용자가 별도로 개발하여 사용해도 무방하다. 


setBrightness

setBrightness 는 0~100 범위로 밝기를 설정할 수 있다. 단말의  SDK 이 23 이상일 경우 '시스템 쓰기 설정 허용' 을 활성화 하여야지만 올바르게 동작하므로 해당 옵션창이 먼저 나타나게 된다. 

Example

// 3.10.18 이상
DAPScreen.setBrightness(activity, 50.0f, {
   // TODO
}) {
   // TODO
}

// 3.10.18 이하
DAPScreen.setBrightness(activity, 50.0f)
// 3.10.18 이상
DAPScreen.setBrightness(activity, 50.0f, result -> {
       // TODO
   }, e -> {
       // TODO
   });

// 3.10.18 이하
DAPScreen.setBrightness(activity, 50.0f);

capture

capture 는 3.6.12 버전 이상 부터 제공되며 해당 라이브러리를 추가하여 사용해야 된다.

capture 는 현재 구동중인 앱의 화면을 기준으로 이미지 파일을 생성하고 그 이미지 경로를 전달하도록 설계 되었으며 capture 이미지 내에 워터 마크를 추가할 수도 있다.
워터 마크가 추가되었을 경우에는 오른쪽 하단으로 위치가 고정되며 워터마크의 크기나 마진 값은 사용자가 워터 마크 이미지를 통해 조절할 수 있다.

capture 를 위해서 필요한 인자는 아래와 같으며 해당 인자는 Optional 한 값이므로 입력하지 않아도 무방하다.

스크린샷 2018-11-06 오전 10.42.38.png

인자 정보

NameDescriptions
watermarkPathcapture 화면에 표기할 워터마크 이미지의 경로로 ‘비즈앱 아이디 / 세부경로’ 로 이루어진다. 예) main/watermark/mark.png
  

capture 이미지의 저장 경로는 /sdcard/Android/data/$packageName/files/screenshot (플러그인에서 사용하는 기본 경로이다. 자바코드로 호출 시 별도의 경로를 지정할 수 있다.) 이고 파일명은timestamp 형태로 생성하여 PNG 포맷에 이미지 퀄리티는 100으로 저장한 뒤 그 경로를 반환 한다.
이때 capture 에 대상이 되는 View 는 HoneMobileActivity 내에 선언된 getMainLayoutId (R.id.main_layout) 의 뷰 이며 사용자가 Custom Layout 으로 구현하였을 때는 getMainlayoutId 를 Override 하여 변경된 뷰 아이디를 설정 하거나 기존과 동일한 아이디로 Layout 을 구성해야 올바르게 capture 되므로 주의해야 된다.
 

Example

// 3.10.18 이상
DAPScreen.capture(CaptureParams.builder()
   .view(findViewById(getMainLayoutId()))
   .waterMarkPath(DAPScreen.convertWaterMarkPath("main/icon.png"))
   .successCallback {
       // TODO
   }
   .errorCallback {
       // TODO
   }.build())

// 3.10.18 이하
DAPScreen.capture(CaptureParams.builder()
   .view(findViewById(getMainLayoutId()))
   .waterMarkPath(DAPScreen.convertWaterMarkPath("main/icon.png"))
   .listener { result, value ->
       // TODO
   }.build())
// 3.10.18 이상
DAPScreen.capture(CaptureParams.builder()
   .view(findViewById(getMainLayoutId()))
   .waterMarkPath(DAPScreen.convertWaterMarkPath("main/icon.png"))
   .successCallback((result) -> {
       // TODO
   },
   .errorCallback {
       // TODO
   }).build());

// 3.10.18 이하
DAPScreen.capture(CaptureParams.builder()
   .view(findViewById(getMainLayoutId()))
   .waterMarkPath(DAPScreen.convertWaterMarkPath("main/icon.png"))
   .listener((result, value) -> {
       // TODO
   }).build());