/*
TextDialogFragment.java
Copyright (c) 2016 NTT DOCOMO,INC.
Released under the MIT license
http://opensource.org/licenses/mit-license.php
*/
package org.deviceconnect.android.manager.setting;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import org.deviceconnect.android.manager.R;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* テキストを表示するためのダイアログ.
*
* @author NTT DOCOMO, INC.
*/
public class TextDialogFragment extends DialogFragment {
/**
* バッファサイズ.
*/
private static final int BUFFER_SIZE = 1024;
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
View view = View.inflate(getActivity(), R.layout.fragment_privacypolicy, null);
TextView text = (TextView) view.findViewById(android.R.id.text1);
InputStream is = null;
try {
ByteArrayOutputStream os = new ByteArrayOutputStream();
is = getActivity().getResources().openRawResource(getArguments().getInt(Intent.EXTRA_TEXT));
byte[] buf = new byte[BUFFER_SIZE];
while (true) {
int len = is.read(buf);
if (len < 0) {
break;
}
os.write(buf, 0, len);
}
text.setText(new String(os.toByteArray(), "UTF-8"));
} catch (IOException e) {
// do-thing
} finally {
if (is != null) {
try {
is.close();
} catch (IOException e) {
// do-thing
}
}
}
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(view);
builder.setTitle(getArguments().getInt(Intent.EXTRA_TITLE));
builder.setPositiveButton(R.string.activity_settings_close, new DialogInterface.OnClickListener() {
@Override
public void onClick(final DialogInterface dialog, final int which) {
dialog.dismiss();
}
});
return builder.create();
}
}