package com.basic.security.fragment;
|
|
import android.content.Intent;
|
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.AccountManager;
|
import com.basic.security.manager.BaseSettingManager;
|
import com.basic.security.manager.SystemInitManager;
|
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<TextView> menus = new ArrayList<>();
|
List<View> 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) {
|
// System.out.println("ToolbarFragment.logout");
|
AccountManager.setIsBasic(false);
|
// SystemInitManager.hideSecondDisplay(mainActivity());
|
if (Constants.indoorOutdoorInOne) {
|
AccountManager.setAdminAccount1(null);
|
} else {
|
AccountManager.setAdminAccount(null);
|
}
|
showFragment(mainActivity().fragment_admin_logout);
|
// mainActivity().hideOneFragment(mainActivity().fragment_advertising_image_view);
|
}
|
if (Constants.isOutdoor) {
|
AccountManager.setAdminAccount(null);
|
showFragment(mainActivity().fragment_home);
|
}
|
}
|
|
@Click
|
public void menu() {
|
mainActivity().showOneFragment(mainActivity().fragment_menu);
|
}
|
|
public void showButtons(Set<View> 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() && AccountManager.adminLoggedIn()) {
|
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 (AccountManager.isBasic) {
|
setSelectedMenuItemBackground(system_setting);
|
((SystemSettingTabsFragment) mainActivity().fragment_system_setting_tabs).base_set1();
|
}
|
if (!AccountManager.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();
|
}
|
}
|
});
|
}
|
}
|