package com.basic.security.fragment; import android.os.Bundle; import android.os.SystemClock; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; import com.basic.security.manager.AdvertisingImageViewManager; import com.basic.security.utils.ResolutionAdaptation; import com.bumptech.glide.Glide; import com.bumptech.glide.request.RequestOptions; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.UiThread; import org.androidannotations.annotations.ViewById; import java.io.File; import java.util.List; @EFragment public class AdvertisingImageViewFragment extends BaseFragment { @ViewById public ImageView advertise; int currentPictureIndex = 0; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(ResolutionAdaptation.fragment_advertising_image_view(), container, false); } @UiThread public void pictureNextUiThread(File imageFile) { try { // System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + imageFile.getAbsolutePath()); if (imageFile.exists()) { Glide.with(this).load(imageFile).apply(new RequestOptions().circleCrop()).into(advertise); } } catch (Exception e) { System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); // e.printStackTrace(); } } @AfterViews public void afterViews() { BaseApplication.getApplication().executorService.execute(() -> { while (true) { try { // System1.out.println("AdvertisingImageViewFragment.afterViews"); 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); } }); } }