60 lines
2.2 KiB
Java
60 lines
2.2 KiB
Java
package com.smarthomies.realtimetalk.views.activities.bindingutils;
|
|
|
|
import android.app.Activity;
|
|
import android.databinding.BindingAdapter;
|
|
import android.support.design.widget.NavigationView;
|
|
import android.view.KeyEvent;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.inputmethod.EditorInfo;
|
|
import android.widget.EditText;
|
|
import android.widget.ImageView;
|
|
import android.widget.TextView;
|
|
|
|
import com.smarthomies.realtimetalk.R;
|
|
import com.smarthomies.realtimetalk.viewmodels.UserViewModel;
|
|
import com.squareup.picasso.Picasso;
|
|
|
|
import com.smarthomies.realtimetalk.databinding.NavHeaderMainBinding;
|
|
|
|
/**
|
|
* Created by ensar on 17/11/16.
|
|
*/
|
|
public class BindingAdapters {
|
|
public static final String TAG = BindingAdapters.class.getSimpleName();
|
|
|
|
@BindingAdapter("android:src")
|
|
public static void setImageUrl(ImageView view, String url) {
|
|
Picasso.with(view.getContext()).load(url).placeholder(R.mipmap.ic_launcher).into(view);
|
|
}
|
|
|
|
@BindingAdapter({"headerLayout"})
|
|
public static void setHeaderViewModel(NavigationView view, UserViewModel userViewModel) {
|
|
NavHeaderMainBinding navHeaderMainBinding = NavHeaderMainBinding.inflate(LayoutInflater.from(view.getContext()));
|
|
navHeaderMainBinding.setViewModel(userViewModel);
|
|
navHeaderMainBinding.executePendingBindings();
|
|
for(int i = 0; i < view.getHeaderCount(); i++) {
|
|
view.removeHeaderView(view.getHeaderView(i));
|
|
}
|
|
view.addHeaderView(navHeaderMainBinding.getRoot());
|
|
}
|
|
|
|
@BindingAdapter("android:imeActionId")
|
|
public static void setActionId(EditText view, int id) {
|
|
if (view.getContext() instanceof Activity) {
|
|
final View actionView = ((Activity) view.getContext()).findViewById(id);
|
|
view.setOnEditorActionListener(new TextView.OnEditorActionListener() {
|
|
@Override
|
|
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
|
|
if(actionId == EditorInfo.IME_ACTION_DONE) {
|
|
actionView.performClick();
|
|
}
|
|
return false;
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
}
|