package com.basic.security.fragment; import android.graphics.Color; 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 android.widget.TextView; import com.basic.security.base.BaseApplication; import com.basic.security.base.BaseFragment; import com.basic.security.manager.BaseSettingManager; import com.basic.security.manager.SystemInitManager; import com.basic.security.manager.UserManager; import com.basic.security.utils.Constants; import com.basic.security.utils.ResolutionAdaptation; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EFragment; import org.androidannotations.annotations.ViewById; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Set; @EFragment public class ToolbarFragment extends BaseFragment { @ViewById public TextView person_add, person_manage, rule, visit_records, system_setting, visitor_model, currentTime, welcome, login_name; @ViewById public ImageView login_photo; @ViewById public View // home, login, logout, admin_msg, call, menu; List menus = new ArrayList<>(); List toolbarButtons = new ArrayList<>(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(ResolutionAdaptation.fragment_toolbar(), container, false); } @Override public void show() { super.show(); } @AfterViews public void afterViews() { toolbarButtons.addAll(Arrays.asList( // home, login, logout, admin_msg, menu, person_add, person_manage, rule, visit_records, system_setting, visitor_model )); menus.addAll(Arrays.asList( person_add, person_manage, rule, visit_records, system_setting, visitor_model )); refreshCurrentTime(); } @Click public void home() { mainActivity().showFragment(mainActivity().fragment_home); } @Click public void login() { // SystemClock.sleep(60*1000); // if (1 == 1) { // Intent intent = new Intent(mainActivity, ConnectActivity.class); // mainActivity.startActivity(intent); // return; // } mainActivity().showFragment(mainActivity().fragment_admin_face_login); } @Click public void logout() { if (Constants.indoorOutdoorInOne) { // System1.out.println("ToolbarFragment.logout"); UserManager.setIsBasic(false); // SystemInitManager.hideSecondDisplay(mainActivity()); if (Constants.indoorOutdoorInOne) { UserManager.setAdminUser1(null); } else { UserManager.setAdminUser(null); } showFragment(mainActivity().fragment_admin_logout); // mainActivity().hideOneFragment(mainActivity().fragment_advertising_image_view); } if (Constants.isOutdoor) { UserManager.setAdminUser(null); showFragment(mainActivity().fragment_home); } } @Click public void menu() { mainActivity().showOneFragment(mainActivity().fragment_menu); } public void showButtons(Set visibleToolbarButtons) { for (View toolbarButton : toolbarButtons) { if (visibleToolbarButtons != null && visibleToolbarButtons.contains(toolbarButton)) { toolbarButton.setVisibility(View.VISIBLE); } else { toolbarButton.setVisibility(View.GONE); } } if (Constants.isIndoor) { // logout.setVisibility(View.GONE); } if (call != null) { call.setVisibility(View.GONE); } toggleGuestModeButton(); } public void toggleGuestModeButton() { if (BaseSettingManager.isGuestMode() && UserManager.adminLoggedIn() && Constants.indoorOutdoorInOne) { visitor_model.setVisibility(View.VISIBLE); } else { visitor_model.setVisibility(View.GONE); } } public void setSelectedMenuItemBackground(TextView thisMenu) { for (TextView menu : menus) { if (menu == null) { continue; } if (menu == thisMenu) { menu.setBackgroundColor(Color.parseColor("#4BA6AD")); } else { menu.setBackground(null); } } } @Click public void visit_records() { SystemInitManager.showSecondDisplay(mainActivity()); setSelectedMenuItemBackground(visit_records); mainActivity().showFragment(mainActivity().fragment_visit_list); mainActivity().fragment_visit_list.loadTask(0); } @Click public void person_manage() { SystemInitManager.showSecondDisplay(mainActivity()); setSelectedMenuItemBackground(person_manage); mainActivity().fragment_face_list.signed_up(); mainActivity().showFragment(mainActivity().fragment_person_manage); } @Click public void rule() { SystemInitManager.showSecondDisplay(mainActivity()); setSelectedMenuItemBackground(rule); mainActivity().showFragment(mainActivity().fragment_rule_list); } @Click public void system_setting() { SystemInitManager.showSecondDisplay(mainActivity()); if (UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).base_set1(); } if (!UserManager.isBasic()) { setSelectedMenuItemBackground(system_setting); ((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).tv_hint_setting(); } } @Click public void visitor_model() { SystemInitManager.showSecondDisplay(mainActivity()); setSelectedMenuItemBackground(visitor_model); mainActivity().showFragment(mainActivity().fragment_guest_mode); } 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(); } } }); } }