package com.basic.security.fragment; import android.graphics.Outline; import android.os.Bundle; import android.os.SystemClock; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.ViewOutlineProvider; import android.widget.ImageView; import android.widget.TextView; 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.Click; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.UiThread; import org.androidannotations.annotations.ViewById; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; @EFragment public class AdminLogoutFragment extends BaseFragment { @ViewById public ImageView advertise; @ViewById public TextView currentTime; int currentPictureIndex = 0; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(ResolutionAdaptation.fragment_admin_logout(), 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()).into(advertise); } } catch (Exception e) { System1.out.println("AdvertisingImageViewFragment.pictureNextUiThread " + e.getMessage()); // e.printStackTrace(); } } @AfterViews public void afterViews() { advertise.setOutlineProvider(new ViewOutlineProvider() { public void getOutline(View view, Outline outline) { outline.setRoundRect(0, 0, view.getWidth(), view.getHeight(), getResources().getDimension(com.basic.security.utils.RUtils.R_dimen_corner_radius)); } }); advertise.setClipToOutline(true); 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); } }); refreshCurrentTime(); } public void refreshCurrentTime() { BaseApplication.getApplication().executorService.execute(new Runnable() { @Override public void run() { while (true) { try { setCurrentTime(); SystemClock.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } } }); } public void setCurrentTime() { BaseApplication.getApplication().activity.runOnUiThread(new Runnable() { @Override public void run() { try { if (currentTime != null) { currentTime.setText(sdf.format(new Date())); } } catch (Exception e) { e.printStackTrace(); } } }); } @Click public void login1() { mainActivity().showFragment(mainActivity().fragment_admin_password_login); } }