@Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); String base_fname = path + "/" + menu_items[position]; View v; if (new File(base_fname).isDirectory()) { v = inflater.inflate(R.layout.sgf_dir_list_item, null); LinearLayout container = (LinearLayout) v.findViewById(R.id.thumb_container); container.setOrientation(LinearLayout.HORIZONTAL); container.setVisibility(View.GONE); } else { v = inflater.inflate(R.layout.sgf_tsumego_list_item, null); } TextView title_tv = (TextView) v.findViewById(R.id.filename); if (title_tv != null) { title_tv.setText(menu_items[position].replace(".sgf", "")); } String sgf_str = ""; if (GoLink.isGoLink(base_fname)) { GoLink gl = new GoLink(base_fname); sgf_str = gl.getSGFString(); } else { try { sgf_str = AXT.at(new File(base_fname)).readToString(); } catch (IOException e) { } } GoGame game = SGFReader.sgf2game(sgf_str, null, SGFReader.BREAKON_FIRSTMOVE); LinearLayout container = (LinearLayout) v.findViewById(R.id.thumb_container); if (game != null) { TextView hints_tv = (TextView) v.findViewById(R.id.hints_tv); SGFMetaData meta = new SGFMetaData(base_fname); if (hints_tv != null) { if (meta.getHintsUsed() > 0) hints_tv.setText(String.format(hints_used_fmt, meta.getHintsUsed())); else hints_tv.setVisibility(View.GONE); } int transform = TsumegoHelper.calcTransform(game); if (transform != SGFReader.DEFAULT_SGF_TRANSFORM) game = SGFReader.sgf2game(sgf_str, null, SGFReader.BREAKON_FIRSTMOVE, transform); game.jump(game.getFirstMove()); container.addView(new PreviewView(activity, game)); } Log.i("loadingSGF " + base_fname); ImageView solve_img = (ImageView) v.findViewById(R.id.solve_status_image); if ((solve_img != null) && (new SGFMetaData(base_fname).getIsSolved())) { solve_img.setImageResource(R.drawable.solved); } return v; }
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (!passbook.isValid()) { // don't deal with invalid passes new AlertDialog.Builder(this) .setMessage(getString(R.string.pass_problem)) .setTitle(getString(R.string.problem)) .setPositiveButton( android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }) .setNeutralButton( getString(R.string.send), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { new ExportProblemPassToLigiAndFinishTask( TicketViewActivity.this, passbook.getPath(), TicketDefinitions.getShareDir(TicketViewActivity.this), "share.pkpass") .execute(); } }) .show(); return; } View contentView = getLayoutInflater().inflate(R.layout.activity_ticket_view, null); setContentView(contentView); ButterKnife.inject(this); barcode_img.setImageBitmap( passbook.getBarcodeBitmap(AXT.at(getWindowManager()).getSmallestSide() / 3)); logo_img.setImageBitmap(passbook.getLogoBitmap()); logo_img.setBackgroundColor(passbook.getBackGroundColor()); thumbnail_img.setImageBitmap(passbook.getThumbnailImage()); if (findViewById(R.id.map_container) != null) { if (!(passbook.getLocations().size() > 0 && PassbookMapsFacade.init(this))) { findViewById(R.id.map_container).setVisibility(View.GONE); } } if (passbook.getType() != null) { String front_str = ""; front_str += PassVisualizer.getFieldListAsString(passbook.getPrimaryFields()); front_str += PassVisualizer.getFieldListAsString(passbook.getSecondaryFields()); front_str += PassVisualizer.getFieldListAsString(passbook.getHeaderFields()); front_str += PassVisualizer.getFieldListAsString(passbook.getAuxiliaryFields()); front_tv.setText(Html.fromHtml(front_str)); } String back_str = ""; if (App.isDeveloperMode()) { back_str += getPassDebugInfo(passbook); } back_str += PassVisualizer.getFieldListAsString(passbook.getBackFields()); back_tv.setText(Html.fromHtml(back_str)); Linkify.addLinks(back_tv, Linkify.ALL); PassVisualizer.visualize(this, new ReducedPassInformation(passbook), contentView); }