use of me.zhanghai.android.douya.network.api.info.apiv2.Image in project Douya by DreaminginCodeZH.
the class BroadcastLayout method bindBroadcast.
public void bindBroadcast(final Broadcast broadcast) {
final Context context = getContext();
if (broadcast.isInterest) {
mAvatarImage.setImageDrawable(ContextCompat.getDrawable(context, R.drawable.recommendation_avatar_icon_grey600_40dp));
mAvatarImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
UriHandler.open(DoubanUtils.getInterestTypeUrl(broadcast.interestType), context);
}
});
} else {
ImageUtils.loadAvatar(mAvatarImage, broadcast.author.avatar);
mAvatarImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
context.startActivity(ProfileActivity.makeIntent(broadcast.author, context));
}
});
}
mNameText.setText(broadcast.getAuthorName());
mTimeActionText.setDoubanTimeAndAction(broadcast.createdAt, broadcast.action);
boolean isRebind = mBoundBroadcastId != null && mBoundBroadcastId == broadcast.id;
// HACK: Attachment and text should not change on rebind.
if (!isRebind) {
Attachment attachment = broadcast.attachment;
if (attachment != null) {
mAttachmentLayout.setVisibility(VISIBLE);
mAttachmentTitleText.setText(attachment.title);
mAttachmentDescriptionText.setText(attachment.description);
if (!TextUtils.isEmpty(attachment.image)) {
mAttachmentImage.setVisibility(VISIBLE);
ImageUtils.loadImage(mAttachmentImage, attachment.image);
} else {
mAttachmentImage.setVisibility(GONE);
}
final String attachmentUrl = attachment.href;
if (!TextUtils.isEmpty(attachmentUrl)) {
mAttachmentLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
UriHandler.open(attachmentUrl, context);
}
});
} else {
mAttachmentLayout.setOnClickListener(null);
}
} else {
mAttachmentLayout.setVisibility(GONE);
}
final ArrayList<Image> images = broadcast.images.size() > 0 ? broadcast.images : Photo.toImageList(broadcast.photos);
int numImages = images.size();
if (numImages == 1) {
final Image image = images.get(0);
mSingleImageLayout.setVisibility(VISIBLE);
mSingleImageLayout.loadImage(image);
mSingleImageLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
context.startActivity(GalleryActivity.makeIntent(image, context));
}
});
} else {
mSingleImageLayout.setVisibility(GONE);
}
if (numImages > 1) {
mImageListLayout.setVisibility(VISIBLE);
mImageListDescriptionText.setText(context.getString(R.string.broadcast_image_list_count_format, numImages));
mImageListAdapter.replace(images);
mImageListAdapter.setOnImageClickListener(new HorizontalImageAdapter.OnImageClickListener() {
@Override
public void onImageClick(int position) {
context.startActivity(GalleryActivity.makeImageListIntent(images, position, context));
}
});
} else {
mImageListLayout.setVisibility(GONE);
}
boolean textSpaceVisible = (attachment != null || numImages > 0) && !TextUtils.isEmpty(broadcast.text);
ViewUtils.setVisibleOrGone(mTextSpace, textSpaceVisible);
mTextText.setText(broadcast.getTextWithEntities(context));
}
mLikeButton.setText(broadcast.getLikeCountString());
LikeBroadcastManager likeBroadcastManager = LikeBroadcastManager.getInstance();
if (likeBroadcastManager.isWriting(broadcast.id)) {
mLikeButton.setActivated(likeBroadcastManager.isWritingLike(broadcast.id));
mLikeButton.setEnabled(false);
} else {
mLikeButton.setActivated(broadcast.isLiked);
mLikeButton.setEnabled(true);
}
mLikeButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (mListener != null) {
mListener.onLikeClicked();
}
}
});
RebroadcastBroadcastManager rebroadcastBroadcastManager = RebroadcastBroadcastManager.getInstance();
if (rebroadcastBroadcastManager.isWriting(broadcast.id)) {
mRebroadcastButton.setActivated(rebroadcastBroadcastManager.isWritingRebroadcast(broadcast.id));
mRebroadcastButton.setEnabled(false);
} else {
mRebroadcastButton.setActivated(broadcast.isRebroadcasted());
mRebroadcastButton.setEnabled(true);
}
mRebroadcastButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (mListener != null) {
mListener.onRebroadcastClicked();
}
}
});
mCommentButton.setText(broadcast.getCommentCountString());
mCommentButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if (mListener != null) {
mListener.onCommentClicked();
}
}
});
mBoundBroadcastId = broadcast.id;
}
use of me.zhanghai.android.douya.network.api.info.apiv2.Image in project Douya by DreaminginCodeZH.
the class ProfileBroadcastsLayout method bind.
public void bind(final User user, List<Broadcast> broadcastList) {
final Context context = getContext();
View.OnClickListener viewMoreListener = new OnClickListener() {
@Override
public void onClick(View view) {
context.startActivity(BroadcastListActivity.makeIntent(user, context));
}
};
mTitleText.setOnClickListener(viewMoreListener);
mViewMoreText.setOnClickListener(viewMoreListener);
int i = 0;
for (final Broadcast broadcast : broadcastList) {
if (i >= BROADCAST_COUNT_MAX) {
break;
}
if (broadcast.rebroadcastedBroadcast != null) {
continue;
}
if (i >= mBroadcastList.getChildCount()) {
ViewUtils.inflateInto(R.layout.profile_broadcast_item, mBroadcastList);
}
View broadcastLayout = mBroadcastList.getChildAt(i);
broadcastLayout.setVisibility(VISIBLE);
BroadcastLayoutHolder holder = (BroadcastLayoutHolder) broadcastLayout.getTag();
if (holder == null) {
holder = new BroadcastLayoutHolder(broadcastLayout);
broadcastLayout.setTag(holder);
ViewUtils.setTextViewLinkClickable(holder.textText);
}
// HACK: Should not change on rebind.
if (holder.boundBroadcastId != broadcast.id) {
String imageUrl = null;
if (broadcast.attachment != null) {
imageUrl = broadcast.attachment.image;
}
if (TextUtils.isEmpty(imageUrl)) {
List<Image> images = broadcast.images.size() > 0 ? broadcast.images : Photo.toImageList(broadcast.photos);
if (images.size() > 0) {
imageUrl = images.get(0).medium;
}
}
if (!TextUtils.isEmpty(imageUrl)) {
holder.image.setVisibility(VISIBLE);
ImageUtils.loadImage(holder.image, imageUrl);
} else {
holder.image.setVisibility(GONE);
}
CharSequence text = broadcast.getTextWithEntities(context);
if (TextUtils.isEmpty(text) && broadcast.attachment != null) {
text = broadcast.attachment.title;
}
holder.textText.setText(text);
holder.timeActionText.setDoubanTimeAndAction(broadcast.createdAt, broadcast.action);
broadcastLayout.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
context.startActivity(BroadcastActivity.makeIntent(broadcast, context));
}
});
holder.boundBroadcastId = broadcast.id;
}
++i;
}
ViewUtils.setVisibleOrGone(mBroadcastList, i != 0);
ViewUtils.setVisibleOrGone(mEmptyView, i == 0);
if (user.broadcastCount > i) {
mViewMoreText.setText(context.getString(R.string.view_more_with_count_format, user.broadcastCount));
} else {
mViewMoreText.setVisibility(GONE);
}
for (int count = mBroadcastList.getChildCount(); i < count; ++i) {
mBroadcastList.getChildAt(i).setVisibility(GONE);
}
}
use of me.zhanghai.android.douya.network.api.info.apiv2.Image in project google-cloud-java by GoogleCloudPlatform.
the class AnnotateImage method main.
public static void main(String... args) throws Exception {
// Instantiates a client
ImageAnnotatorClient vision = ImageAnnotatorClient.create();
// The path to the image file to annotate
// for example "./resources/wakeupcat.jpg";
String fileName = "your/image/path.jpg";
// Reads the image file into memory
Path path = Paths.get(fileName);
byte[] data = Files.readAllBytes(path);
ByteString imgBytes = ByteString.copyFrom(data);
// Builds the image annotation request
List<AnnotateImageRequest> requests = new ArrayList<>();
Image img = Image.newBuilder().setContent(imgBytes).build();
Feature feat = Feature.newBuilder().setType(Type.LABEL_DETECTION).build();
AnnotateImageRequest request = AnnotateImageRequest.newBuilder().addFeatures(feat).setImage(img).build();
requests.add(request);
// Performs label detection on the image file
BatchAnnotateImagesResponse response = vision.batchAnnotateImages(requests);
List<AnnotateImageResponse> responses = response.getResponsesList();
for (AnnotateImageResponse res : responses) {
if (res.hasError()) {
System.out.printf("Error: %s\n", res.getError().getMessage());
return;
}
for (EntityAnnotation annotation : res.getLabelAnnotationsList()) {
for (Map.Entry<FieldDescriptor, Object> entry : annotation.getAllFields().entrySet()) {
System.out.printf("%s : %s\n", entry.getKey(), entry.getValue());
}
}
}
}
use of me.zhanghai.android.douya.network.api.info.apiv2.Image in project openstack4j by ContainX.
the class ImageV2Tests method testGetImage.
public void testGetImage() throws IOException {
respondWith(IMAGE_JSON);
String id = "8a2ea42d-06b5-42c2-a54d-97105420f2bb";
Image image = osv3().imagesV2().get(id);
assertNotNull(image);
assertNotNull(image.getId());
assertEquals(image.getId(), id);
}
use of me.zhanghai.android.douya.network.api.info.apiv2.Image in project openstack4j by ContainX.
the class ImageV2Tests method testCreateImage.
public void testCreateImage() throws IOException {
respondWith(IMAGE_JSON);
String id = "8a2ea42d-06b5-42c2-a54d-97105420f2bb";
String name = "amphora-x64-haproxy";
ContainerFormat cf = ContainerFormat.BARE;
DiskFormat df = DiskFormat.QCOW2;
Long mindisk = 0L;
Long minram = 0L;
Image.ImageVisibility vis = Image.ImageVisibility.PUBLIC;
String key1 = "test-key1";
String key2 = "test-key2";
String key3 = "id";
String value1 = "test-value1";
String value2 = "test-value2";
String value3 = "test-value3";
Image im = Builders.imageV2().id(id).name(name).containerFormat(cf).diskFormat(df).minDisk(mindisk).minRam(minram).visibility(vis).additionalProperty(key1, value1).additionalProperty(key2, value2).additionalProperty(key3, value3).build();
Image image = osv3().imagesV2().create(im);
assertNotNull(image);
assertEquals(image.getId(), id);
assertEquals(image.getName(), name);
assertEquals(image.getContainerFormat(), cf);
assertEquals(image.getDiskFormat(), df);
assertEquals(image.getVisibility(), vis);
assertEquals(image.getMinDisk(), mindisk);
assertEquals(image.getMinRam(), minram);
assertEquals(image.getAdditionalPropertyValue(key1), value1);
assertEquals(image.getAdditionalPropertyValue(key2), value2);
assertNull(image.getAdditionalPropertyValue(key3));
}
Aggregations