diff options
author | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-27 23:31:56 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-01-27 23:31:56 +0000 |
commit | 603ab91a86fe4d1a793e4bedf52790d66f84a4e8 (patch) | |
tree | 23cd5fc3c8108ed4b17c4eefc2ff92eea030e776 | |
parent | ca7addcf22a9c223f42e11335bb164fe5fecd80c (diff) | |
parent | 16337eca4bd12e13198ecaeaab03f801b2cf3ab8 (diff) | |
download | teeui-603ab91a86fe4d1a793e4bedf52790d66f84a4e8.tar.gz |
Add translation selection feature in java ui am: 1942e277f8 am: 16337eca4b
Change-Id: Iaf2f4bcf077cf8f0e1e95bda0ab72ae5f7e11f0a
4 files changed, 44 insertions, 31 deletions
diff --git a/tools/framebufferizer/Android.bp b/tools/framebufferizer/Android.bp index 0ed202d..96ea4ae 100644 --- a/tools/framebufferizer/Android.bp +++ b/tools/framebufferizer/Android.bp @@ -3,10 +3,9 @@ java_binary_host { name: "TeeuiFramebufferizer", - srcs: ["src/**/*.java"], + srcs: ["src/com/android/framebufferizer/**/*.java"], manifest: "manifest-teeui-framebufferizer.mf", required: [ "libteeui_jni", ] } - diff --git a/tools/framebufferizer/src/com/android/framebufferizer/Main.java b/tools/framebufferizer/src/com/android/framebufferizer/Main.java index 7d81fd3..8bd76dd 100644 --- a/tools/framebufferizer/src/com/android/framebufferizer/Main.java +++ b/tools/framebufferizer/src/com/android/framebufferizer/Main.java @@ -38,12 +38,14 @@ public class Main { theFramebuffer.setFrame(theFrame); FrameBufferBuffer.MagnifiedView magnifiedView = theFramebuffer.getMagnifiedView(); FrameBufferBuffer.DeviceSelector deviceSelector = theFramebuffer.getDeviceSelector(); + FrameBufferBuffer.LanguageSelector languageSelector = theFramebuffer.getLanguageSelector(); magnifiedView.setPreferredSize(new Dimension(100, 100)); magnifiedView.setMinimumSize(new Dimension(100, 100)); magnifiedView.setMaximumSize(new Dimension(100, 100)); theFrame.getContentPane().add(magnifiedView, BorderLayout.EAST); theFrame.getContentPane().add(theFramebuffer, BorderLayout.CENTER); theFrame.getContentPane().add(deviceSelector, BorderLayout.NORTH); + theFrame.getContentPane().add(languageSelector, BorderLayout.SOUTH); theFrame.pack(); theFrame.setVisible(true); deviceSelector.refreshSelections(); diff --git a/tools/framebufferizer/src/com/android/framebufferizer/NativeRenderer.java b/tools/framebufferizer/src/com/android/framebufferizer/NativeRenderer.java index e670123..0198892 100644 --- a/tools/framebufferizer/src/com/android/framebufferizer/NativeRenderer.java +++ b/tools/framebufferizer/src/com/android/framebufferizer/NativeRenderer.java @@ -25,4 +25,6 @@ public class NativeRenderer { public static native int setDeviceInfo(DeviceInfo deviceInfo, boolean magnified); public static native int renderBuffer(int x, int y, int width, int height, int lineStride, int[] buffer); + public static native void setLanguage(String language_id); + public static native String[] getLanguageIdList(); } diff --git a/tools/framebufferizer/src/com/android/framebufferizer/utils/FrameBufferBuffer.java b/tools/framebufferizer/src/com/android/framebufferizer/utils/FrameBufferBuffer.java index aefa8dc..a1104f1 100644 --- a/tools/framebufferizer/src/com/android/framebufferizer/utils/FrameBufferBuffer.java +++ b/tools/framebufferizer/src/com/android/framebufferizer/utils/FrameBufferBuffer.java @@ -87,7 +87,6 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous } - public static enum Devices { CORAL, BONITO, SARGO, CROSSHATCH, BLUELINE;} public class DeviceSelector extends JPanel implements ActionListener { private JComboBox<String> dropDownMenu = new JComboBox(DeviceInfoDB.Device.values()); @@ -107,7 +106,7 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous } public void refreshSelections(){ - dropDownMenu.setSelectedItem(Devices.CORAL); + dropDownMenu.setSelectedItem(DeviceInfoDB.Device.CORAL); } public DeviceInfoDB.Device currentDevice() { @@ -119,11 +118,33 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous } } + public class LanguageSelector extends JPanel implements ActionListener { + String languages [] = NativeRenderer.getLanguageIdList(); + + private JComboBox<String> dropDownMenu; + + protected LanguageSelector() { + dropDownMenu = new JComboBox(languages); + dropDownMenu.addActionListener(this); + this.add(dropDownMenu); + } + + public void actionPerformed(ActionEvent e) { + synchronized (this) { + String language = (String) dropDownMenu.getSelectedItem(); + NativeRenderer.setLanguage(language); + FrameBufferBuffer.this.calibrateNativeBuffer(); + } + } + + } + private BufferedImage mImage; private DataBufferInt mBuffer; private MagnifiedView mMagnifiedView; private DeviceSelector mDeviceSelector; + private LanguageSelector mLanguageSelector; private JFrame mFrame; public MagnifiedView getMagnifiedView() { @@ -140,6 +161,13 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous return mDeviceSelector; } + public LanguageSelector getLanguageSelector(){ + if (mLanguageSelector == null){ + mLanguageSelector = new LanguageSelector(); + } + return mLanguageSelector; + } + @Override public void mouseDragged(MouseEvent e) { @@ -186,29 +214,6 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous public void componentResized(ComponentEvent e) { calibrateNativeBuffer(); repaint(); - /* get set values and then let it resize based off of the values passed through this */ - // int w = getWidth(); - // int h = getHeight(); - // System.out.println( "width=" + getWidth() + " height=" + getHeight()); - // final int linestride = w; - // final int rMask = 0xff; - // final int gMask = 0xff00; - // final int bMask = 0xff0000; - // final int bpp = 24; - // synchronized (this) { - // mBuffer = new DataBufferInt(h * linestride); - // WritableRaster raster = Raster.createPackedRaster(mBuffer, w, h, linestride, - // new int[]{rMask, gMask, bMask}, null); - // ColorModel colorModel = new DirectColorModel(bpp, rMask, gMask, bMask); - // mDeviceSelector.mImage = new BufferedImage(colorModel, raster, true, null); - // NativeRenderer.setDeviceInfo(w, h, -1, w/412.0, 5.5); - // int error = NativeRenderer.renderBuffer(0, 0, w, h, linestride, mBuffer.getData()); - // if (error != 0) { - // System.out.println("Error rendering native buffer " + error); - // } - // } - // repaint(); - // how to resize within ratio of everything } @Override public void componentMoved(ComponentEvent e) { @@ -237,8 +242,12 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous } public void calibrateNativeBuffer(){ - DeviceInfo deviceInfo = DeviceInfoDB.getDeviceInfo(getDeviceSelector().currentDevice()); - boolean magnified = getDeviceSelector().magnified(); + DeviceInfo deviceInfo = DeviceInfoDB.getDeviceInfo(getDeviceSelector().currentDevice()); + boolean magnified = getDeviceSelector().magnified(); + renderNativeBuffer(deviceInfo, magnified); + repaint(); + } + public int renderNativeBuffer(DeviceInfo deviceInfo, boolean magnified){ int w = deviceInfo.getWidthPx(); int h = deviceInfo.getHeightPx(); final int linestride = w; @@ -246,6 +255,7 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous final int gMask = 0xff00; final int bMask = 0xff0000; final int bpp = 24; + int error = 0; synchronized (this) { mBuffer = new DataBufferInt(h * linestride); WritableRaster raster = Raster.createPackedRaster(mBuffer, w, h, linestride, @@ -253,7 +263,7 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous ColorModel colorModel = new DirectColorModel(bpp, rMask, gMask, bMask); BufferedImage image = new BufferedImage(colorModel, raster, true, null); NativeRenderer.setDeviceInfo(deviceInfo, magnified); - int error = NativeRenderer.renderBuffer(0, 0, w, h, linestride, mBuffer.getData()); + error = NativeRenderer.renderBuffer(0, 0, w, h, linestride, mBuffer.getData()); if (error != 0) { System.out.println("Error rendering native buffer " + error); } @@ -266,6 +276,6 @@ public class FrameBufferBuffer extends JPanel implements ComponentListener, Mous gc.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); gc.drawRenderedImage(image, AffineTransform.getScaleInstance(scale, scale)); } - repaint(); + return error; } } |