tools: improve adapter, add viewholder

Change-Id: I469953ce2a95e2784857f280a13be53f9fc4da47