12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- package com.liaobo.im.ui.base;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.view.inputmethod.InputMethodManager;
- import com.liaobo.im.AppConfig;
- import com.liaobo.im.R;
- import com.liaobo.im.bean.User;
- import java.util.ArrayList;
- import java.util.List;
- public abstract class BaseLoginActivity extends ActionBackActivity implements CoreStatusListener {
- public CoreManager coreManager;
- private List<CoreStatusListener> coreStatusListeners;
- private boolean loginRequired = true;
- private boolean configRequired = true;
- protected void noLoginRequired() {
- Log.d(TAG, "noLoginRequired() called");
- loginRequired = false;
- }
- protected void noConfigRequired() {
- Log.d(TAG, "noConfigRequired() called");
- configRequired = false;
- }
- // 注册CoreManager初始化状态的监听,比如fragment可以调用,
- public void addCoreStatusListener(CoreStatusListener listener) {
- coreStatusListeners.add(listener);
- }
- public User getUser() {
- return coreManager.getSelf();
- }
- public String getToken() {
- return coreManager.getSelfStatus().accessToken;
- }
- public AppConfig getAppConfig() {
- return coreManager.getConfig();
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- initCore();
- }
- private void initCore() {
- Log.d(TAG, "initCore() called");
- if (coreManager == null) {
- coreManager = new CoreManager(this, this);
- }
- if (coreStatusListeners == null) {
- coreStatusListeners = new ArrayList<>();
- }
- coreManager.init(loginRequired, configRequired);
- }
- @Override
- public void onCoreReady() {
- Log.d(TAG, "onCoreReady() called");
- for (CoreStatusListener listener : coreStatusListeners) {
- listener.onCoreReady();
- }
- }
- @Override
- public void finish() {
- hideSoftInputFromWindow(getWindow().getDecorView());
- super.finish();
- }
- @Override
- protected void onDestroy() {
- coreManager.destroy();
- super.onDestroy();
- }
- public void hideSoftInputFromWindow(View view){
- InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
- if (inputManager != null && view!=null) {
- inputManager.hideSoftInputFromWindow(view.getWindowToken(), 0); // 强制隐藏键盘
- }
- }
- }
|