• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  * All rights reserved.
4  *
5  * This source code is licensed under the BSD-style license found in the
6  * LICENSE file in the root directory of this source tree.
7  */
8 
9 package com.example.executorchllamademo;
10 
11 import android.view.LayoutInflater;
12 import android.view.View;
13 import android.view.ViewGroup;
14 import android.widget.ArrayAdapter;
15 import android.widget.TextView;
16 import androidx.annotation.NonNull;
17 import java.util.Objects;
18 
19 public class LogsAdapter extends ArrayAdapter<AppLog> {
LogsAdapter(android.content.Context context, int resource)20   public LogsAdapter(android.content.Context context, int resource) {
21     super(context, resource);
22   }
23 
24   static class ViewHolder {
25     private TextView logTextView;
26   }
27 
28   @NonNull
29   @Override
getView(int position, View convertView, @NonNull ViewGroup parent)30   public View getView(int position, View convertView, @NonNull ViewGroup parent) {
31     ViewHolder mViewHolder = null;
32 
33     String logMessage = Objects.requireNonNull(getItem(position)).getFormattedLog();
34 
35     if (convertView == null || convertView.getTag() == null) {
36       mViewHolder = new ViewHolder();
37       convertView = LayoutInflater.from(getContext()).inflate(R.layout.logs_message, parent, false);
38       mViewHolder.logTextView = convertView.requireViewById(R.id.logsTextView);
39     } else {
40       mViewHolder = (ViewHolder) convertView.getTag();
41     }
42     mViewHolder.logTextView.setText(logMessage);
43     return convertView;
44   }
45 }
46