22
33import android .content .Context ;
44import android .os .Bundle ;
5+ import android .preference .PreferenceManager ;
56import android .support .annotation .NonNull ;
67import android .support .annotation .Nullable ;
78import android .support .v4 .app .Fragment ;
1112import android .view .LayoutInflater ;
1213import android .view .View ;
1314import android .view .ViewGroup ;
14- import android .widget .TextView ;
1515
1616import com .duy .ccppcompiler .R ;
17- import com .duy .ide .editor .theme .model .EditorTheme ;
1817import com .jecelyin .editor .v2 .Preferences ;
1918import com .simplecityapps .recyclerview_fastscroll .views .FastScrollRecyclerView ;
2019
20+ import java .io .StringBufferInputStream ;
21+
2122import jackpal .androidterm .TermSettings ;
2223import jackpal .androidterm .emulatorview .ColorScheme ;
2324import jackpal .androidterm .emulatorview .EmulatorView ;
25+ import jackpal .androidterm .emulatorview .TermSession ;
2426
2527public class TerminalThemeFragment extends Fragment {
2628 private RecyclerView mRecyclerView ;
@@ -49,12 +51,15 @@ public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceStat
4951
5052 public static class TerminalThemeAdapter extends RecyclerView .Adapter <TerminalThemeAdapter .ViewHolder > implements FastScrollRecyclerView .SectionedAdapter {
5153 private final String [] mThemes ;
52- private Context mContext ;
5354 private OnThemeSelectListener onThemeSelectListener ;
55+ private TermSettings mTermSettings ;
56+ private Context mContext ;
5457
5558 public TerminalThemeAdapter (Context context ) {
5659 mContext = context ;
5760 mThemes = context .getResources ().getStringArray (R .array .entries_emulator_color_preference );
61+ mTermSettings = new TermSettings (context .getResources (),
62+ PreferenceManager .getDefaultSharedPreferences (context ));
5863 }
5964
6065 @ NonNull
@@ -65,15 +70,27 @@ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
6570 }
6671
6772 @ Override
68- public void onBindViewHolder (@ NonNull final ViewHolder holder , int position ) {
69- final String title = mThemes [position ];
70- holder .mTxtName .setText (title );
73+ public void onBindViewHolder (@ NonNull final ViewHolder holder , final int position ) {
7174 EmulatorView termView = holder .mTermView ;
75+ TermSession session = new TermSession ();
76+ session .setTermIn (new StringBufferInputStream (mThemes [position ]));
77+ termView .attachSession (session );
78+ termView .setDensity (mContext .getResources ().getDisplayMetrics ());
79+ termView .setTextSize (16 );
7280 termView .setColorScheme (new ColorScheme (TermSettings .COLOR_SCHEMES [position ]));
81+
82+ holder .mBtnSelect .setOnClickListener (new View .OnClickListener () {
83+ @ Override
84+ public void onClick (View v ) {
85+ if (onThemeSelectListener != null ){
86+ onThemeSelectListener .onTerminalThemeSelected (mThemes [position ],position );
87+ }
88+ }
89+ });
7390 }
7491
75- private String makeTitle (int position , EditorTheme editorTheme ) {
76- return (position + 1 ) + ". " + editorTheme . getName () ;
92+ private String makeTitle (int position , String name ) {
93+ return (position + 1 ) + ". " + name ;
7794 }
7895
7996 @ Override
@@ -93,18 +110,16 @@ public void setOnThemeSelectListener(OnThemeSelectListener onThemeSelectListener
93110 }
94111
95112 public interface OnThemeSelectListener {
96- void onThemeSelected ( EditorTheme theme );
113+ void onTerminalThemeSelected ( String mTheme , int index );
97114 }
98115
99116 static class ViewHolder extends RecyclerView .ViewHolder {
100117 View mBtnSelect ;
101118 EmulatorView mTermView ;
102- TextView mTxtName ;
103119
104- public ViewHolder (View itemView ) {
120+ ViewHolder (View itemView ) {
105121 super (itemView );
106122 mTermView = itemView .findViewById (R .id .term_view );
107- mTxtName = itemView .findViewById (R .id .txt_name );
108123 mBtnSelect = itemView .findViewById (R .id .btn_select );
109124 }
110125 }
0 commit comments