|
|
@@ -19,14 +19,15 @@ import info.knacki.pass.R;
|
|
|
import info.knacki.pass.git.GitInterface;
|
|
|
import info.knacki.pass.io.FileInterfaceFactory;
|
|
|
import info.knacki.pass.io.PathUtils;
|
|
|
+import info.knacki.pass.ui.MainActivity;
|
|
|
import info.knacki.pass.ui.passwordList.PasswordClickListener;
|
|
|
import info.knacki.pass.ui.passwordList.PasswordListView;
|
|
|
-import info.knacki.pass.ui.MainActivity;
|
|
|
-import info.knacki.pass.ui.PasswordPicker;
|
|
|
+import info.knacki.pass.ui.passwordPicker.ServicePasswordPicker;
|
|
|
|
|
|
public class InputService extends InputMethodService implements PasswordClickListener {
|
|
|
protected PasswordListView fPasswordListView;
|
|
|
private static final Logger log = Logger.getLogger(InputService.class.getName());
|
|
|
+ protected View fInputView;
|
|
|
|
|
|
@Override
|
|
|
public void onStartInputView(EditorInfo info, boolean restarting) {
|
|
|
@@ -36,12 +37,13 @@ public class InputService extends InputMethodService implements PasswordClickLis
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @SuppressLint("InflateParams")
|
|
|
@Override
|
|
|
public View onCreateInputView() {
|
|
|
- @SuppressLint("InflateParams") View view = LayoutInflater.from(this).inflate(R.layout.input, null, false);
|
|
|
+ fInputView = LayoutInflater.from(this).inflate(R.layout.input, null, false);
|
|
|
fPasswordListView = new PasswordListView<>(this, PathUtils.GetPassDir(this));
|
|
|
- ((ScrollView)view.findViewById(R.id.passwordListContainer)).addView(fPasswordListView);
|
|
|
- view.findViewById(R.id.prevButton).setOnClickListener(new View.OnClickListener() {
|
|
|
+ ((ScrollView)fInputView.findViewById(R.id.passwordListContainer)).addView(fPasswordListView);
|
|
|
+ fInputView.findViewById(R.id.prevButton).setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
InputMethodManager service = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
|
|
@@ -53,18 +55,18 @@ public class InputService extends InputMethodService implements PasswordClickLis
|
|
|
service.showInputMethodPicker();
|
|
|
}
|
|
|
});
|
|
|
- view.findViewById(R.id.openAppButton).setOnClickListener(new View.OnClickListener() {
|
|
|
+ fInputView.findViewById(R.id.openAppButton).setOnClickListener(new View.OnClickListener() {
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
startActivity(new Intent(InputService.this, MainActivity.class));
|
|
|
}
|
|
|
});
|
|
|
- return view;
|
|
|
+ return fInputView;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void OnPasswordClicked(File f) {
|
|
|
- FileInterfaceFactory.GetFileInterface(this, new PasswordPicker(this), f).ReadFile(new GitInterface.OnResponseListener<String>() {
|
|
|
+ FileInterfaceFactory.GetFileInterface(this, new ServicePasswordPicker(this, fInputView), f).ReadFile(new GitInterface.OnResponseListener<String>() {
|
|
|
@Override
|
|
|
public void onResponse(String passwordContent) {
|
|
|
for (char i: passwordContent.toCharArray()) {
|
|
|
@@ -74,8 +76,8 @@ public class InputService extends InputMethodService implements PasswordClickLis
|
|
|
|
|
|
@Override
|
|
|
public void onError(String msg, Throwable e) {
|
|
|
- Toast.makeText(InputService.this, "Error: " +e.getMessage(), Toast.LENGTH_LONG).show();
|
|
|
- log.log(Level.SEVERE, e.getMessage(), e);
|
|
|
+ Toast.makeText(InputService.this, "Error: " + msg, Toast.LENGTH_LONG).show();
|
|
|
+ log.log(Level.SEVERE, msg, e);
|
|
|
}
|
|
|
});
|
|
|
onFinishInput();
|