package com.basic.security.secondary; import android.content.Context; import android.os.SystemClock; import android.view.Display; import android.view.View; import com.basic.security.base.BaseApplication; import com.basic.security.manager.AdvertisingImageViewManager; import com.basic.security.manager.BaseSettingManager; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import java.io.File; import java.util.List; public class SDAdvertising extends SDVideo { int currentPictureIndex = 0; public SDAdvertising(Context outerContext, Display display) { super(outerContext, display); } public SDAdvertising(Context outerContext, Display display, int theme) { super(outerContext, display, theme); } public void pictureNextUiThread(File imageFile) { try { BaseApplication.getApplication().activity.runOnUiThread(new Runnable() { @Override public void run() { try { if (imageFile.exists()) { Glide.with(BaseApplication.getApplication().activity).load(imageFile).apply(new RequestOptions()).into(advertiseS); Glide.with(BaseApplication.getApplication().activity).load(imageFile).apply(new RequestOptions()).into(marquee1); Glide.with(BaseApplication.getApplication().activity).load(imageFile).apply(new RequestOptions()).into(advertiseSTopRight); } } catch (Exception e) { e.printStackTrace(); } } }); } catch (Exception e) { e.printStackTrace(); } } public void afterViews() { super.afterViews(); BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { List advertisingImageList = AdvertisingImageViewManager.getAdvertisingImageList(); if (advertisingImageList.size() > 0) { currentPictureIndex = currentPictureIndex % advertisingImageList.size(); pictureNextUiThread(new File(advertisingImageList.get(currentPictureIndex))); } } catch (Exception e) { e.printStackTrace(); } currentPictureIndex++; SystemClock.sleep(3000); } }); BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { while (true) { try { if (System.currentTimeMillis() - lastTimeDrawFaceRect > BaseSettingManager.getNoFaceDelay() * 1000) { BaseApplication.getApplication().activity.runOnUiThread(new Runnable() { @Override public void run() { try { advertiseS_parent.setVisibility(View.VISIBLE); } catch (Exception e) { e.printStackTrace(); } } }); } } catch (Exception e) { e.printStackTrace(); } SystemClock.sleep(2 * 1000); } } }); } }